This job is to a straight port of a Gnu C++ command-line program (no GUI) to Java 6 SE.
In the original code, there are:
3,344 lines of *.h files (in 33 header files)
12,852 lines of *.cpp files (in 26 source code files)
You will be provided the use of Tangible Software's "C++ to Java converter" to use on this project. The Tangible converter will convert 80%+ of the code automatically to Java.
The following types of code will not be automatically converted by the Tangible converter and will require manual conversion by the programmer that I hire:
•Most C/C++ library function calls are not converted. However, we do convert a subset of the C-based string, keyboard I/O, math, and utility function calls, and some of the C++ keyboard I/O methods (cout and cin), STL-based string class methods, and STL containers (vector, list, queue, and stack).
•Some pointer and address manipulation may remain in the converted code.
•There are no simple equivalents to C++/CLI delegates and events in Java, so these must be refactored.
•Multiple inheritance is not converted since it is not available in Java.
•Operator overloading is not available in Java. These methods are marked with a comment.
•Function pointers cannot be converted to Java since Java lacks true delegates.
•Since Java lacks a preprocessor, all code dependent on conditional compilation needs to be refactored so that the functionality can be achieved in other ways. You can avoid this if you choose to target the NetBeans preprocessor (C++ to Java Converter includes an option for this).
•C++ templates are converted to, but are only roughly equivalent to, Java generics. These will likely require further attention.
•Bit-by-bit copying of objects via the assignment operator is not the default in Java. We attempt to detect these cases and convert the assignment to a call to either the copy constructor (if used in a variable initialization) or the converted assignment operator overload (which is converted to a 'copyFrom' method) and also provide a 'Warning' comment.
•Java does not allow embedded assembly instructions. These are marked with a comment.
•Types cannot be declared within methods in Java. These are marked with a comment.
•There is no equivalent to friend functions or friend classes in Java. These are marked with a comment.
•Unions and bit fields have no elegant equivalent in Java. Unions are converted to classes and marked with a comment.
In addition to converting the code, the programmer will be responsible for writing simple test scripts and scenarios to test and compare that the converted Java 6 SE code functions *exactly* as the original Gnu C++ code does.
I am not looking to enhance or correct the original code in any way, but only to have a "straight port" done, with a new program that adheres as closely as possible in function and behavior to the original, only in Java 6 SE instead of Gnu C++.
This code should run in Java 6 SE. It does not need to be compatible with earlier versions of Java.
All the comments from the original Gnu C++ code should be transferred over to the new Java 6 SE code. Additional comments should be added where significant changes were required to make the new code work.
The programmer will also be responsible for creating an Eclipse project/package and provide detailed directions for building and running the converted program from a standard Eclipse installation.
After conversion, the new Java code should be neatly formatted ("pretty-printed").
This work will be fixed price. I will award to LOWEST bidder ($400) that I feel can accomplish this task.
The use of pthreads in the orig program must instead use Java 6 native or green threads.
25 freelanceria on tarjonnut keskimäärin %project_bid_stats_avg_sub_26% %project_currencyDetails_sign_sub_27% tähän työhön
Hi, This seems to be an interesting project. I would like to take this up. I am a professional c/c++ programmer currently working on java technologies. I can deliver the best quality.