我知道Windows使用LLP而不是LP数据模型,但有一个预定义的variables或东西? 在OS X / Linux上,您可以使用__LP64__ 。
Windowsbatch file – 嵌套FOR循环中的variables
PHP exec命令不能与包含variables的terminal命令一起使用
Vista环境variables中的%TMP%和%TEMP%有什么区别?
MATLAB getenv无法find一些linux环境variables
Bash:从文本文件VAR = VALUE格式中读取variables
一种检查方法是_WIN64 ,它仅在64位Windows上定义(请参阅此处和此处 )。 例如:
#if defined(__LP64__) // LP64 machine,OS X or Linux #elif defined(_WIN64) // LLP64 machine,Windows #else // 32-bit machine,Windows or Linux or OS X #endif
你真的需要一个预处理器变量(取决于具体情况,这可能是必需的,但你也可以不做)? sizeof(long) == sizeof(void*)不够好吗?
我不知道如果这样的变量,但你可以测试_MSC_VER ,这将在Visual Studio中定义。 那么你可以假设一个LLP模型。 如果将来发生变化,可以使用_MSC_VER的值对编译器版本进行测试。
如果您正在寻找标准大小的类型,请查看boost :: integer ,它定义了固定位大小的整数类型。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。