Porting Simple C# Projects
This Section will describe how easily CodePorting.Native Cs2Cpp can be used to port Simple C# Projects to C++:
Read More »
Porting Dependent C# Projects
This Section will describe how easily CodePorting.Native Cs2Cpp can be used to port Dependent C# Projects to C++:
Read More »
Porting Complex C# Projects
This Section will describe how easily CodePorting.Native Cs2Cpp can be used to port Complex C# Projects to C++:
Read More »
What Converts to What
This section provides a set of examples demonstrating some C# code constructions and what they become in C++ code after migration.
Below is the list of available examples:
Read More »
CodePorting.Native Cs2Cpp Attributes
Overview There is a number of attributes recognized by CodePorting.Native Cs2Cpp. These include both widely-known attributes introduced by .NET or third party libraries such as NUnit and special attributes introduced by CodePorting.Native Cs2Cpp itself. The former attributes can be used in the same way as they are used normally in C# applications. The later can be placed into source code manually to prepare the code for porting; they are defined in CsToCppPorter namespace.
Read More »
CodePorting.Native Cs2Cpp Configuration File
CodePorting.Native Cs2Cpp porting application configuration files are of plain XML format. This section describes the meaning of allowed elements and attributes.
Read More »
Memory Management Model
In C#, memory management rules are simple: all objects allocated on heap exist until references to them exist, and are collected by GC afterwards. In C++, this is not the case.
To enable executing ported code in C++ environment,CodePorting.Native Cs2Cpp wraps all references to objects created on heap into smart pointers of custom System::SmartPtr type. These pointers follow intruisive pointer semantics which means that reference counter resides in allocated object itself and all smart pointers share same reference counter regardless how they were created.
Read More »
Cmake Support
Cmake Support Ported projects are being built by means of Cmake. Specify target platform you want to build your binaries for. Use standard Cmake means to do so. If building for platform different from the one you were using to port your binaries (e. g. for Linux), copy all files of ported project to this new platform and make sure to supply correct references to location ofCodePorting.Native Cs2Cpp distribution package on this new platform.
Read More »
Limitations and Bugs
This page contains information about the Limitations and Bugs of CodePorting.Native Cs2Cpp and Library:
Read More »