比如在64位操作系统上,使用printf
windows代码为
#includeint main(int argc, char** argv) { int64_t x = 1; printf("x=%lldn", x); return 0; }
而linux却是:
#includeint main(int argc, char** argv) { int64_t x = 1; printf("x=%ldn", x); return 0; }
如何保证兼容,而不提示告警呢?
答案是使用
PRId64宏,
#include#include int main(int argc, char** argv) { int64_t x = 1; printf("x="PRId64"n", x); return 0; }
PRI系列的宏,实现了不同平台的兼容处理。



