RAD Studio (Common)
ContentsIndex
PreviousUpNext
C++ Compiler General Compatibility

ProjectOptionsC++ CompilerGeneral Compatibility 

Use this dialog box to set C++ Compiler General Compatibility options.  

Some of these options provide backward compatibility with previous versions of the compiler, and their default value is false. In general, such options should not be set to true unless such compatibility is required.

Build Configuration options 
Description 
Build Configuration 
Displays the active build configuration. Use the drop-down menu to select another build configuration.  
Save As... 
Displays the Save As dialog box to save the current configuration's options to a file that can be loaded as a named option set.  
Load... 
Displays the Apply Option Set dialog box to apply the options in a named option set to the current configuration.  

Note: There are several compatibility options that have switches beginning with -Vb
, summarized in this table:

Switch 
Meaning 
-Vb  
Turn on all -Vb switches.  
-Vb+  
Turn on all -Vb switches.  
-Vb-  
Turn off all -Vb switches.  
-Vb.  
Reset all -Vb switches.  
-Vbe  
Allow old-style explicit template specialization.  
-Vbn  
Allow calling a non-const member function for a const object.  
-Vbo  
Use old overload resolution rules.  
-Vbr  
Allow non-const reference binding.  
-Vbs  
Do not treat string literals as const.  
-Vbx  
Allow explicit template specializations as member functions.  

 

General Compatibility options 
Description 
Non-const string literals (-Vbs) 
Do not treat string literals as const. Default = false  
Global functions in segments (-VA)* 
Generates all global functions in their own virtual or weak segment. Default = true  
Don't mangle calling convention (-VC) 
When this option is set, the compiler disables the distinction of function names where the only possible difference is incompatible code generation options. For example, with this option set, the linker does not detect if a call is made to a __fastcall member function with the cdecl calling convention.
This option is provided for backward compatibility only; it lets you link old library files that you cannot recompile. Default = false  
Microsoft header search algorithm (-VI)* 
Uses Microsoft search algorithms to locate the header files. Default = true  
VC++ compatibility (-VM) 
To provide compatibility with Microsoft Visual C++ , substitutes __msfastcall for __fastcall calling convention. This switch should not be used when working with a VCL application. It causes numerous linker errors. Default = false  
Disable lexical digraph scanner (-Vg) 
Disables the lexical digraph scanner. Digraphs are two character sequences that stand in for a single character that may be hard to produce on certain keyboards. If this option is true, then such diagraphs are not recognized. Default = false  
Enable new operator names (-Vn) 
Enables new operator names such as 'and', 'or', 'and_eq', 'bitand', etc. Default = false  
Enable all compatibility options (-Vo) 
Sets most of the compatibility flags used with old code, enabling -Vv , -Va, -Vp, -Vt, -Vc, -Vd, and -Vx. Default = false  
Reverse Multi-character constants (-Vr) 
The compiler reverses the order of Multi-character constants. Default = false  
Old style virdef generation (-Vs) 
Uses old-style virdef generation. Default = false  
Native code for MBCS (-Vw) 
Emits native code instead of Unicode for multi-byte character. Default = false  
Old 8.3 include search (-Vi) 
Use old 8.3 search algorithm to locate header files. Default = false  

 

General option 
Description 
Default 
Saves the current settings as the default for each new project.  
Copyright(C) 2008 CodeGear(TM). All Rights Reserved.
What do you think about this topic? Send feedback!