相关疑难解决方法(0)

是否有GCC预处理器指令来检查代码是否在64位机器上编译?

我正在尝试做类似以下的事情;

#ifdef 64-bit
    #define DECIMAL_FORMAT %ld
#else
    #define DECIMAL_FORMAT %d
#endif
.
intptr_t d;  
.
printf(“Some message with DECIMAL_FORMAT in the middle of it\n”, d);
Run Code Online (Sandbox Code Playgroud)

'intptr_t'类型的变量'd'在32位机器上需要'%d'格式说明符,在64位机器上需要格式说明符'%ld'.我正在寻找一种解决方案,能够在32位机器和64位机器上编译代码,而无需更改GCC命令行或源代码.

c++ gcc

14
推荐指数
2
解决办法
1万
查看次数

标签 统计

c++ ×1

gcc ×1