__LP64__ в Windows?
Я знаю, что Windows использует LLP вместо модели данных LP, но есть ли предопределенная переменная или что-то еще? на OS X/Linux вы можете использовать __LP64__
,
3 ответа
Я не знаю, если такая переменная, но вы можете проверить на _MSC_VER
, который будет определен в Visual Studio. Затем вы можете принять модель LLP. Если это когда-нибудь изменится в будущем, вы можете использовать значение _MSC_VER
проверить против версий компилятора.
Если вы ищете типы стандартного размера, проверьте boost:: integer, который определяет целочисленные типы фиксированного размера.
Вам действительно нужна переменная препроцессора (в зависимости от случая, она может потребоваться, но вы также можете обойтись без)? Является sizeof(long) == sizeof(void*)
не достаточно хорош?