Поделиться через


Функции препроцессора в 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.

См. также

Основные понятия

Изменения в компиляторе, языке и средствах Visual C++ 2005