成功地编译成格式的程序是符合标准的
Is it standard-compliant to compile ill-formed program in success?
对于不形成的C 程序,例如:
foo^@#$bar%$
编译器的标准符合条件是通过诊断消息收集二进制的二进制文件,而不是将编译中断为G /Clang 做?
Into.comliance 说明:
如果程序包含违反任何可诊断规则或 在此标准中描述的构造的发生 当实施不支持时,"有条件支持" 该结构,一个符合的实施应至少发行 诊断消息。
在这种情况下不需要编译错误。
可能相关:
- 根据标准,C 编译器需要进行什么?
- 不形成不良,无需诊断(NDR):constexpr函数C 14
是的,实施在输入是不形式的程序时产生二进制文件是合法的。这是C 中的[Into.comliance]/8:
符合符合的实现可能具有扩展(包括其他库功能),只要它们确实 不要改变任何形式的计划的行为。需要实现来诊断程序 使用根据该国际标准不形成不良的扩展。但是,这样做了 他们可以编译和执行此类程序。
在这种情况下,诊断通常称为"警告"(与"错误"相对)。
相关文章:
- 标准是否严格定义了该程序应该如何编译?
- 如何从Windows应用程序输出到标准?
- Visual Studio 如何在内核模式驱动程序项目中使用C++标准库?
- 覆盖程序中的标准 C 库函数C++
- 在程序执行期间从标准输出重定向到自定义流
- 为什么我的程序说长度函数不在我的标准库中?
- 如何在 eclipse 中将标准输入从控制台更改为另一个程序
- 如何将值发送到标准输出流并在另一个程序中访问这些值
- Boost 能做什么现代C++的标准库做不到的?在程序中将 boost 作为依赖项包含有什么需要?
- 是在同一体系结构上运行的静态编译的纯标准C 程序可移植
- 程序不输出正确的标准偏差.另外,验证问题
- 成功地编译成格式的程序是符合标准的
- 在OS X上编译Linux应用程序 - 未找到标准库(CMATH)
- 程序未根据标准输入正确输出
- 反转行的程序未打印为标准输出
- 将NetBeans配置为调试包含非标准库的C 程序
- 从外部程序中捕获标准和标准输出 C++.
- 标准 C++ 程序执行期间的函数调用
- 如何将我的应用程序生成的标准 Mac OS X 日志输出重定向到文件
- x实用程序 (2227): 警告 C4996: "标准::_Copy_impl"