首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以在预处理器时检测C++中是否定义了类型?

是否可以在预处理器时检测C++中是否定义了类型?
EN

Stack Overflow用户
提问于 2021-04-19 06:53:13
回答 4查看 70关注 0票数 0

看起来就像在GCC历史上的某个时刻,类型ulong被定义为unsigned long long,但这在编译器之间造成了一些冲突,因为我将项目传递给了其他没有定义ulong的编译器(如Visual C++)。这是我想做的一个例子:

代码语言:javascript
复制
#ifndef ulong
typedef unsigned long long ulong;
#endif

但这是行不通的,因为这不是#ifdef的工作方式。你会怎么做?如何以最短的方式做到这一点?

EN

Stack Overflow用户

发布于 2021-04-19 06:59:27

不,预处理器无法确定是否定义了类型(或除预处理器宏以外的任何其他类型)。毕竟,在这一切发生之前,预处理器就会运行。

如果希望代码可以跨计算机移植,请不要使用不属于C++标准的编译器专用工具。

票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67154130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档