【发布时间】:2011-12-07 01:46:26
【问题描述】:
是否有一个 gcc 宏可以让我识别是否正在以 64 位模式编译某些内容?
【问题讨论】:
标签: gcc
是否有一个 gcc 宏可以让我识别是否正在以 64 位模式编译某些内容?
【问题讨论】:
标签: gcc
重复的问题: Is there a GCC preprocessor directive to check if the code is being compiled on a 64 bit machine?
__LP64__
似乎是你想要的。
【讨论】:
__LLP64__ 指示(是的,即使使用 gcc)。详情请见blogs.msdn.com/b/oldnewthing/archive/2005/01/31/363790.aspx。
你也可以,至少在 Linux 上,
#include <features.h>
#include <endian.h> // perhaps you skip that
#include <limits.h>
#include <stdint.h>
然后<bits/workdsize.h> 被包含并给你__WORDSIZE(64 或 32)
但是你为什么要问,为什么使用<stdint.h> 提供的标准类型对你来说还不够?
【讨论】: