c – 在#include语句中使用垃圾字符时无编译器错误
#include <iostream> gfhgfhgf using namespace std; int main() { return 0; } 为什么这段代码段编译?根据The gcc reference on Include Syntax:
这正是代码中正在做的. 解决方法
使用gcc和clang中的-anticantic-errors标志将其转为错误
see it live:
error: extra tokens at end of #include directive #include <iostream> gfhgfhgf ^ 这表明它是一个扩展. 如果我们看看Interfacing C and TAL In The Tandem Environment他们有一些这样的代码: #include <stdlibh> nolist ^^^^^^ 所以gcc和clang都可以在include指令之后支持额外的字符,以支持某些平台上需要的扩展.使用-pedantic flags使gcc和clang对违反标准的扩展产生警告,如上所述,您可以使用-pendatic错误将其转换为错误(强调我的):
我们可以在HP’sC/C++ Programmers guide for NonStop Systrms中找到诺尔扩展的参考,它说:
注意,draft C++ standard在第16.2节[cpp.include]中定义了这种形式的包含的语法,如下所示: # include < h-char-sequence> new-line (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- hdu 3076 ssworld VS DDD(概率DP)
- c – opencv上的cvGetCaptureProperty问题
- Oracle SQL语言DML语句与事务_超越OCP精通Oracle视频教程培
- Ruby中的copy-on-write分叉
- flex air总是启动失败
- 浅谈Vue-cli单文件组件引入less,sass,css样式的不同方法
- 【.net】“Newtonsoft.Json”已拥有为“Microsoft.CSharp”
- c# – 如何从WPF PolyLine对象移动所有坐标?
- 对react-native-percentage-circle修改,实现圆环旋转一定角
- BIP_将原有Report Builer报表全部转为XML Publisher形式(案