【发布时间】:2011-10-06 01:43:15
【问题描述】:
我需要设置 #ifdef - 检查条件编译。我想自动化这个过程,但不能指定目标操作系统/机器。有没有办法让预编译器解析它是运行在 32 位还是 64 位上?
(解释)我需要定义一个 64 位大小的类型。在 64 位操作系统上是很长的,在大多数其他操作系统上是很长的。
我找到了this answer - 这是正确的方法吗?
【问题讨论】:
-
您对 64 位系统的具体定义是什么? (这是一个严肃的问题)
-
为什么它对你的程序很重要?
-
那么,如果编译器运行在 32 位机器上,您希望代码将代码编译为 32 位,还是如果编译器运行在 64 位机器上,则编译为 64 位?我不太明白你的问题。我也很难相信你不能指定目标操作系统/机器,特别是如果你是编译源代码的人。
-
预编译器中目标系统的“位数”没有标准定义。您要么必须传递自己的,要么依赖编译器本身定义的那些。例如。 _WIN64
标签: c++ compilation 32bit-64bit