Функции препроцессора в Visual C++ 2005
Обновлен: Ноябрь 2007
В этом разделе перечислены новые функции препроцессора Visual C++ 2005.
Дополнительные сведения см. в разделе Критические изменения в компиляторе Visual C++ 2005.
Примечания
Ниже перечислены новые функции препроцессора Visual C++ 2005:
Добавлен предопределенный макрос __CLR_VER. Дополнительные сведения см. в разделе Predefined Macros.
Директива pragma comment (C/C++) теперь принимает /MANIFESTDEPENDENCY в качестве комментария компоновщика. Использование параметра "exestr" с comment не рекомендуется.
Атрибут embedded_idl (The #import Directive) теперь принимает необязательный параметр.
Директива pragma fenv_access
Директива pragma float_control
Директива pragma fp_contract
Если в директиве pragma managed, unmanaged и неуправляемых разделах имеются глобальные переменные, эти глобальные переменные не будут инициализированы в том порядке, в котором они объявлены. Это изменение может привести к потере работоспособности, если, например, неуправляемая глобальная переменная инициализирована с управляемыми глобальными переменными и требует полностью сконструированный объект.
Разделы, указанные с помощью init_seg, теперь доступны только для чтения, а не для чтения и записи, как в предыдущих версиях.
Для inline_depth теперь установлено значение по умолчанию 16. Значение по умолчанию, равное 16, установлено также в Visual C++ .NET 2003.
Добавлен предопределенный макрос _INTEGRAL_MAX_BITS, см. Predefined Macros.
Добавлены предопределенные макросы _M_CEE, _M_CEE_PURE и _M_CEE_SAFE, см. Predefined Macros.
Добавлен предопределенный макрос _M_IX86_FP. Дополнительные сведения см. в разделе Predefined Macros.
Добавлен предопределенный макрос _M_X64. Дополнительные сведения см. в разделе Predefined Macros.
Директива pragma make_public
Синтаксис директивы pragma managed, unmanaged обновлен (теперь эта директива имеет ключевые слова push и pop)
На файл mscorlib.dll теперь ссылаются явно с помощью директивы The #using Directive во всех компиляциях /clr.
Добавлен предопределенный макрос _OPENMP. Дополнительные сведения см. в разделе Predefined Macros.
Обновлена директива pragma optimize, параметры "a" и "w" более недействительны.
Добавлен атрибут no_registry#import.
Добавлены директивы pragma — region, endregion
Добавлен предопределенный макрос _VC_NODEFAULTLIB. Дополнительные сведения см. в разделе Predefined Macros.
Реализован макрос Variadic Macros.
vtordisp не рекомендуется и в следующем выпуске Visual C++ будет удалена.
Директива pragma warning имеет описатель suppress.