- Q: Are the original
C++ files
altered in any way?
- A:
Your existing code is left completely intact. The new
VB files are written to the new location that you specify.
- Q: What is the conversion
accuracy?
- A:
Our accuracy is the highest in the industry, but there will be
significant adjustments required for all but the most trivial
conversions. C++ code is much more complex than VB code,
so there are no direct equivalents for many aspects of C++.
Read the rest of the FAQ to get an idea of a few things that are
not converted. C++ to VB Converter
is intended to reduce the amount of work you'll have to do to
convert code to VB, but it is just the first step.
Code that is heavily dependent on pointer manipulation is better
left in C++.
-
- Q: What type of code
can be converted?
- A:
C, C++, Managed C++ (VC++ 2003), and C++/CLI (VC++ 2005 and
above).
Conversion accuracy will be highest for C++/CLI code.
-
- Q: What about MFC
and ATL resources?
- A:
C++ to VB Converter
does not convert MFC or ATL resources. We recommend RC
Converter from DudeLabs for this: http://www.dudelabs.com.
-
- Q: What are the most common
adjustments necessary after conversion?
- A:
-
●
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), and STL-based string class methods.
-
-
●
Some pointer
and address manipulation may remain in the converted code.
●
VB.NET does
not allow assignments within expressions, but C++ does (e.g.,
while ((x = y()) > 0) assigns a value to x as part of an
expression). C++ to VB Converter will convert simple assignment
cases (e.g., x = y = z or x = y++), but will mark other more
complex cases with a "ToDo" comment. You must manually
adjust these.
●
Some
reference type comparisons are converted, but you will need to
manually change some equality symbols to "Is". The VB.NET
compiler makes these adjustment requirements obvious.
●
Multiple inheritance is not converted since
it is not available in VB.
●
C++ templates are converted to, but are only
roughly equivalent to, VB generics. These will likely
require further attention.
●
STL containers are not converted. Some
conversion may be available in a future release.
●
Bit-by-bit copying of objects via the
assignment operator is not the default in VB. We attempt
to detect these cases and convert the assignment to a call to
either the copy constructor (it used in a variable
initialization) or the converted assignment operator overload (which
is converted to a 'CopyFrom' method) and also provide a 'Warning' comment.
●
VB does not allow embedded assembly
instructions. These are marked with a comment.
●
Types cannot be declared with methods in VB.
These are marked with a comment.
●
There is no equivalent to friend functions or
friend classes in VB. These are marked with a comment.
●
Unions and bit fields have no elegant
equivalent in VB. Unions are converted to Structures and marked with a comment.
Simple unions are converted using the StructLayout and
FieldOffset attributes.
●
Many operators that can be overloaded in C++
cannot be overloaded in VB. These are marked with a
comment.
|