如何更改GCC预处理器输出格式?

时间:2013-07-01 03:08:59

标签: gcc c-preprocessor

如何将gcc预处理器(cc1.exe)输出更改为以下格式:

 #line 1 "path/to/file.c"

目前,我正在使用这种格式:

 # 1 "path/to/file.c"

它还指出here输出是#line指令,但我得到的输出格式不同。我需要使用参数选项吗?

2 个答案:

答案 0 :(得分:0)

最简单的答案,只需编写一个脚本来处理gcc预处理器生成的文件,以满足您的要求。

  1. 自己编写一个脚本,将GCC预处理器的输出作为输入,并将# 1替换为#line 1,命名为myscript
  2. 编写脚本以首先自动调用GCC预处理,然后调用脚本myscript
  3. 在步骤2中命名上述脚本 - gcc,将其放在您当地的路径中。

答案 1 :(得分:0)

根据GCC docs

  

源文件名和行号信息由表格

的行传达
# linenum filename flags
     

这些被称为线性标记。它们根据需要插入到输出中(但从不在字符串或字符常量内)。它们表示以下行起源于 filename 中的文件 filename

您引用的源代码是关于预处理器输入,而不是输出。 (GCC也接受上述格式作为输入,但它不可互操作。)