当定义了__LP64__时__WORDSIZE为64否则为32,所以应该可以用__LP64__这个宏来判断是否为64位系统 ...
如果使用编译器特定的宏,MSVC有_M_AMD64 或者_M_X64,gcc有 __amd64__ 或者 __x86_64__ 。
MSVC 比较简单,在 64 bit 系统中定义了 _WIN64,只要没有定义 _WIN64,就是 32 bit 系统. 对于 64 位的 x86 机器,定义了 _M_AMD64 (或者中立的名字 _M_X64). 对于 32 位的 x86 机器,定义了 _M_IX86 . MSVC 11 的测试版本我没有安装,因此不知道 MIPS 的预定义宏,你可以自己装装看看. 注意判断...
SIZE_MAX 就是定义了 size_t 类型最大值的宏常量。因此,如果 SIZE_MAX 为 2 ^ 64 - 1,那就...
1. 对于GCC:判断 __i386__ 或 __x86_64__ 宏是否存在。 2. 对于VC:判断 _M_IX86 或 _M_X64 宏是否存在。 然后根据上面的判断结果定义CCPUID_X86宏。在simd_mmx等函数中就可以利用CCPUID_X86宏来避免编译出错。 这样做的有利于代码的移植。例如某个程序使用了ccpuid来判断CPU是否支持SSE,在x86平台...
#define IS_EVEN(n) ((n) % 2 == 0) // 判断偶数 2.2 宏的运算符 2.2.1\ 名称:宏延续符:也称之为宏的换行符; 作用:当定义的宏不能用一行表达完整时,可以用\表示下一行继续此宏的定义。 注意:换行不能切断单词,只能在空格的地方进行。
可以通过 CHAR_BIT 这个宏来获得当前编译环境的字节长度,如下所示:#include<stdio.h>#include<limits.h>intmain(void){ printf("%d", CHAR_BIT); return;} 结尾 如果你还了解其它C语言的冷知识,欢迎在文末留言补充哦。你的寥寥数语,可能会让别人少踩一个坑。以上就是本次分享的全部内容,想学习...
l 对于X64相关代码使用 #if defined (_AMD64__) 的预编译命令(没有定义__IA64__宏); l 对于IA64相关的代码使用#if defined (__IA64__)命令; l 编译x64程序使用AMD64处理器; 用 Visual C++ 创建在 64 位 Windows 操作系统中运行的应用程序时,应注意以下问题: l 在 64 位 Windows 操作系统中,in...
printf("Windows 64 bit\n"); #else printf("Windows 32 bit\n"); #endif #else printf("Not a Windows OS\n"); #endif return 0; } 检测苹果操作系统是MacOS还是iPhone 在此示例中,我们使用Apple OS的宏来检测正在使用的Apple OS,如MacOS或iPhone。