Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This topic lists the new features in the Visual C++ 2005 preprocessor.
The Visual C++ 2005 preprocessor contains the following new features:
__CLR_VER predefined macro added. For more information, see Predefined Macros.
The comment (C/C++) pragma now accepts /MANIFESTDEPENDENCY as a linker comment. The exestr option to comment is now deprecated.
embedded_idl attribute (The #import Directive) now takes an optional parameter.
fenv_access pragma
float_control pragma
fp_contract pragma
Global variables will not be initialized in the order they are declared if you have global variables in pragma managed, unmanaged and unmanaged sections. This is a potential breaking change if, for example, an unmanaged global variable is initialized with a managed global variables, and a fully constructed managed object is required.
Sections specified with init_seg are now read only, and not read/write as in previous versions.
inline_depth default is now 16. A default of 16 was also in effect in Visual C++ .NET 2003.
_INTEGRAL_MAX_BITS predefined macro added, see Predefined Macros.
_M_CEE, _M_CEE_PURE, and _M_CEE_SAFE predefined macros added, see Predefined Macros.
_M_IX86_FP predefined macro added. For more information, see Predefined Macros.
_M_X64 predefined macro added. For more information, see Predefined Macros.
make_public pragma
managed, unmanaged pragma syntax updated (now has push and pop)
mscorlib.dll is now implicitly referenced by The #using Directive in all /clr compilations.
_OPENMP predefined macro added. For more information, see Predefined Macros.
optimize pragma has been updated, a and w are no longer valid parameters.
no_registry #import attribute has been added.
region, endregion pragmas added
_VC_NODEFAULTLIB predefined macro added. For more information, see Predefined Macros.
Variadic Macros are now implemented.
vtordisp is deprecated and will be removed in a future release of Visual C++.
The warning pragma now has the suppress specifier.