__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
}