Flexible - converts snippets, files, projects, solutions, and folders from VB.NET to C++
Fast - tens of thousands of lines converted from VB.NET to C++ per minute
Helpful conversion comments
Excellent educational tool for VB developers learning C++
Numerous conversion and formatting options
10 Second Overview
VB.NET to C++ Collections Conversion:
VB.NET to C++ Inheritance Conversion:
VB.NET to C++ Indexer Conversion:
Conversion of Legacy String Functions to C++:
VB.NET to C++ Lambda Conversion:
*Scroll right to see VB to C++ Converter screenshots
Q: Are entire projects converted?
You can select VB projects or folders to convert.
All ".vb" files within that project or folder will be converted and
output as either traditional .h/.cpp files or C++20 modules
to the directory you specify. However, VB to C++ Converter does not construct
the new C++ project file. This is due to the lack of one-to-one correspondence
between VB project types and formats and C++ project types and formats.
Q: Are VB.NET delegates converted?
Yes - try out our Free Edition to see the conversion
details. VB to C++ Converter converts VB delegates to function pointers
Q: Are the original VB.NET files altered in any way?
Your existing code is left completely intact.
The new C++ files are output to the new location that you specify.
Q: What about .NET UI code?
The converter does not convert .NET UI types due to
the lack of correspondence between these types and native C++ UI types.
Q: What is the conversion accuracy?
Our accuracy is very high,
but there will be significant adjustments required for all but the simplest
conversions. There are no direct equivalents for some aspects of VB.NET.
Read the rest of the FAQ to get an idea of a few things that are not converted.
VB to C++ Converter is intended to reduce the amount of work you'll have to do
to convert code to C++, but it is just the first step.
Q: Are VB6 projects converted to C++?
No - the most effective way to convert VB6 to
C++ is to first upgrade to VB.NET, and then use VB to C++ Converter on the resulting VB code.
Q: What are the most common manual adjustments?
VB to C++ Converter converts
only some .NET Framework types to C++ equivalents. The converter offers
options to use your own custom replacements.
VB to C++ Converter
cannot ensure proper deallocation of pointer variables. In some
cases, a call to the delete operator is made, but in general
complete memory deallocation is not included in the conversion. However,
the converter contains options for converting to smart pointers.
VB to C++ Converter comments
out attributes and events since there is no direct C++ equivalent
to .NET attributes and events.
There will be occasional qualifier symbol
adjustments required. For example, it is possible that
the converter fails to determine whether a particular VB dot
operator should be replaced by a C++ arrow, double colon, or
dot. If type analysis fails to determine the equivalent,
heuristics are used to determine the most probable equivalent.
VB to C++ Converter cannot
convert 'finally' clauses since there is no acceptable C++ equivalent.
Since the converter does not map to a
particular C++ project type, the VB 'Main' method is left in
it's original location and converted literally. Depending
on the C++ project type, you will need to adjust the location
and structure of the main method.
If the VB project did not have 'Option Strict On' set, then you'll
likely have a number of cases where different types are compared
with each other - the converter will sort out most cases, but some
may need adjustment.
Although some On Error GoTo statements are
converted, some elements of classic VB unstructured error
handling (On Error Resume Next, On Error GoTo -1, etc.) are not
converted. These statements are marked as a
'ToDo' task. Also, all references to the VB Err object are not
converted and marked as a 'ToDo' task.
'When' statements in 'Catch' blocks (which
have no equivalent in C++) must be manually adjusted. These are commented
out and combined with a warning comment.