在linux下编译.pc文件过程有两步:
首先经过proc预处理把.pc文件编译成.c文件
再编译.c文件为可执行文件
.c源文件的行数和文件名,可以通过__LINE__和__FILE__变量获得
而如何获得.pc源文件的行数和文件名呢?
由于经过了预处理,预处理后的.c文件未保留.pc的行数和文件名,怎么办呢?
只要把proc预处理选项 lines设置为 lines=yes,就可以通过__LINE__和__FILE__变量获得了
lines选项指出预编译处理程序是否对输出文件加#line命令,是否修改__LINE__和__FILE__为.pc文件的值
/*宏指令#line用来修改C中所定义的__LINE__和__FILE__等宏定义的内容
#line的一般形式是:
#line number "filename"
其中,number是正整数并变成_ _LINE_ _的新值;可选的"filename"是合法文件标识符并变成_ _FILE_ _的新值。*/