在gcc中是否有64位的定义

Met*_*est 4 c 32bit-64bit

可能重复:
在C中检测64位编译

我希望我的程序在32位和64位Linux操作系统上运行.所以在我的C代码中,我希望编译器知道何时编译32位和64位架构.所以,我需要这样的东西

#ifdef X64
...
#else
...
#endif
Run Code Online (Sandbox Code Playgroud)

gcc中有没有这样的定义

Vin*_*ura 10

我知道这些:

__i386__    
__x86_64__  
Run Code Online (Sandbox Code Playgroud)

我不知道他们有多可靠.

最好的选择是-DMY_32BIT在编译32位并检查MY_32BIT代码时添加到Makefile的编译行.那样你就可以肯定了.