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


__w64

(Майкрософт) позволяет пометить конкретные переменные, такие, что при компилировании с /Wp64 компилятор сообщит все предупреждения, которые включаются в отчеты при компилировали с пакетом обновления 64 (sp2) компилятором.

type __w64 identifier

Параметры

  • type
    Один из 3 типов, которые могут вызвать проблемы в коде, переношенными с пакетом обновления 32 (sp2) до 64 (sp2) компилятором: int" longили указатель.

  • identifier
    Идентификатор переменной создании.

Заметки

Важное примечаниеВажно

/Wp64 и параметр компилятора __w64 ключевое слово нерекомендуемо и будет удалено в будущей версии компилятора.Если в командной строке используется параметр компилятора /Wp64, то компилятор выдает предупреждение Предупреждение командной строки D9035.Вместо использования этого параметра и ключевого слова для обнаружения конфликтов переносимости на 64-разрядных платформах лучше использовать компилятор Visual C++, предназначенный для 64-разрядной платформы.Дополнительные сведения см. в разделе Настройка 64-разрядных программ (Visual C++).

Любое typedef, имеющее __w64 на нем должны быть 32 бита на базе x86 и 64 бит на семейства процессоров Itanium (IPF).

__w64 ключевое слово должно быть указано для всех определения типов, которые изменяют размер между 32 и 64 бит платформами бита.Для любого типа __w64 появляться только с пакетом обновления 32 (sp2) определение typedef.

__w64 ключевое слово не учитывается, если компиляция не использует /Wp64.

Дополнительные сведения о переносе с пакетом обновления 64 (sp2) см. в следующих разделах:

Пример

// __w64.cpp
// compile with: /W3 /Wp64
typedef int Int_32;
#ifdef _WIN64
typedef __int64 Int_Native;
#else
typedef int __w64 Int_Native;
#endif

int main() {
   Int_32 i0 = 5;
   Int_Native i1 = 10;
   i0 = i1;   // C4244 64-bit int assigned to 32-bit int

   // char __w64 c;  error, cannot use __w64 on char
}

См. также

Ссылки

Ключевые слова C++