看起来就像在GCC历史上的某个时刻,类型ulong被定义为unsigned long long,但这在编译器之间造成了一些冲突,因为我将项目传递给了其他没有定义ulong的编译器(如Visual C++)。这是我想做的一个例子:
#ifndef ulong
typedef unsigned long long ulong;
#endif但这是行不通的,因为这不是#ifdef的工作方式。你会怎么做?如何以最短的方式做到这一点?
发布于 2021-04-19 06:59:27
不,预处理器无法确定是否定义了类型(或除预处理器宏以外的任何其他类型)。毕竟,在这一切发生之前,预处理器就会运行。
如果希望代码可以跨计算机移植,请不要使用不属于C++标准的编译器专用工具。
https://stackoverflow.com/questions/67154130
复制相似问题