【发布时间】:2011-07-13 11:16:55
【问题描述】:
是否有 C 宏或某种方法可以检查我的 c 程序在 C 编译时是编译为 64 位还是 32 位?
编译器:GCC 我需要检查的操作系统:Unix/Linux
另外,如果操作系统支持 64 位,我如何检查运行程序时的情况?
【问题讨论】:
-
看看following question。它概述了
__LP__gcc 预处理器指令的使用 -
你为什么想知道?
-
您要检查二进制可执行文件并确定用于创建该文件的编译器选项吗?
-
等一下...你的意思是你已经有了二进制文件然后想要检查它? (因为您提到“已编译”)或在编译时(因为您提到 C 宏)?
-
@Daniel:我明白你想做什么,问题只是为什么。您的问题并不完全有效,因为“64 位架构”不是一个定义非常明确的术语(您是否想要 64 位寄存器、64 位数据总线、64 位指针),您的编程是否仅适用于 x86或便携式...