#line指令

#line指令:预编译和宏定义。

此命令主要是为强制编译器按指定的行号,开始对源程序的代码重新编号,在调试的时候,可以按此规定输出错误代码的准确位置。其作用在于编译的时候,准确输出出错代码所在的位置(行号),而在源程序中并不出现行号,从而方便程序员准确定位。

形式1
语法格式如下:
# line constant “filename”
其作用是使得其后的源代码从指定的行号constant重新开始编号,并将当前文件的名命名为filename。例如下面的程序如下:
 
 1 #include <iostream>
 2 
 3 using std::cout;
 4 
 5 int main()
 6 {
 7 #line 1 "kevin"
 8     int a=1;
 9     aa=1;
10     cout<<a;
11     return 0;
12 }
 
提示如下的编译信息:
kevin(2): error C2065: “aa”: 未声明的标识符
表示当前文件的名称被认为是kevin,#line 1 "kevin" 指令后2行的这样一个相对位置出错。

posted on 2012-06-14 13:32  NLP新手  阅读(1057)  评论(1编辑  收藏  举报

导航