LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 153|回复: 0

编译器限制

[复制链接]
发表于 2024-1-21 23:39:22 | 显示全部楼层 |阅读模式
C++ 标准建议对各种语言构造施加限制。 下面是 Microsoft C++ 编译器不会在其中实施建议的限制的情况的列表。 第一个数字是 ISO C++ 11 标准(INCITS/ISO/IEC 14882-2011[2012],附件 B)中建立的限制,而第二个数字是由 Microsoft C++ 编译器实现的限制:

复合语句、迭代控制结构和选择控制结构的嵌套级别 - C++ 标准:256,Microsoft C++ 编译器:具体取决于嵌套语句的组合,但通常介于 100 和 110 之间。

一个宏定义中的参数 - C++ 标准:256,使用 /Zc:preprocessor-:127 或使用 /Zc:preprocessor:32767 的 Microsoft C++ 编译器。

一个宏调用中的自变量 - C++ 标准:256,使用 /Zc:preprocessor-:127 或使用 /Zc:preprocessor:32767 的 Microsoft C++ 编译器。

字符串文本或宽字符串文本中的字符(串联后)- C++ 标准:65536,Microsoft C++ 编译器:包括 NULL 终止符的 65535 个单字节字符,以及包括 NULL 终止符的 32767 个双字节字符。

单个 struct-declaration-list 中的嵌套类、结构或联合定义的级别 - C++ 标准:256,Microsoft C++ 编译器:16。

构造函数定义中的成员初始值设定项 - C++ 标准:6144,Microsoft C++ 编译器:至少为 6144。

一个标识符的范围限定 - C++ 标准:256,Microsoft C++ 编译器:127。

嵌套 extern 规范 - C++ 标准:1024,Microsoft C++ 编译器:9(未计算全局范围中的隐式 extern 规范;如果计算全局范围中的隐式 extern 规范,则为 10)。

模板声明中的模板自变量 - C++ 标准:1024,Microsoft C++ 编译器:2046。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表