当前位置:嗨网首页>书籍在线阅读

19-#line和#error

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

16.6.5  #line#error

#line 指令重置 _ _LINE_ __ _FILE_ _ 宏报告的行号和文件名。可以这样使用 #line

#line 1000        // 把当前行号重置为1000
#line 10 "cool.c"  // 把行号重置为10,把文件名重置为cool.c

#error 指令让预处理器发出一条错误消息,该消息包含指令中的文本。如果可能的话,编译过程应该中断。可以这样使用 #error 指令:

#if _ _STDC_VERSION_ _ != 201112L
#error Not C11
#endif

编译以上代码生成后,输出如下:

$ gcc newish.c
newish.c:14:2: error: #error Not C11
$ gcc -std=c11 newish.c
$

如果编译器只支持旧标准,则会编译失败,如果支持C11标准,就能成功编译。