首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >__STDC_LIMIT_MACROS和__STDC_CONSTANT_MACROS是什么意思?

__STDC_LIMIT_MACROS和__STDC_CONSTANT_MACROS是什么意思?
EN

Stack Overflow用户
提问于 2009-06-12 12:41:53
回答 4查看 28.5K关注 0票数 35

我在系统的标准C++库以及我正在使用的库中的一些头文件中看到了这一点。

这两个定义的语义是什么?除了源代码本身,有没有像这样的#定义的很好的参考?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-06-12 13:16:12

__STDC_LIMIT_MACROS__STDC_CONSTANT_MACROS是一种变通方法,允许C++程序使用C99标准中指定的stdint.h宏,而不是C++标准中指定的宏。宏(如UINT8_MAXINT64_MININT32_C() )可能已经以其他方式在C++应用程序中定义。为了允许用户决定是否要像C99那样定义宏,许多实现要求在包含stdint.h之前定义__STDC_LIMIT_MACROS__STDC_CONSTANT_MACROS

这不是C++标准的一部分,但它已经被多个实现采用。

票数 48
EN

Stack Overflow用户

发布于 2014-10-23 16:16:16

上面的问题已经消失了。C99是一个旧标准,因此在C++11标准中已经明确否定了这一点,因此C11删除了这一规则。

更多详细信息请访问:

票数 7
EN

Stack Overflow用户

发布于 2009-06-12 13:06:11

在C++下的stdint.h中,它们控制是否定义像INT32_MAXINT32_C(v)这样的宏。有关更多信息,请参阅您的平台的stdint.h

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

https://stackoverflow.com/questions/986426

复制
相关文章

相似问题

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