0

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

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

目前,我得到这种格式:

 # 1 "path/to/file.c"

它还在这里声明输出是一个#line指令,但我得到了不同的输出格式。是否有我需要使用的参数选项?

4

2 回答 2

0

根据GCC 文档

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

# linenum filename flags

这些被称为线标记。它们根据需要插入到输出中(但从不在字符串或字符常量中)。他们的意思是以下行源自linenum行的文件文件名

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

于 2013-07-01T04:29:38.187 回答
0

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

  1. 自己写一个脚本,以GCC预处理器的输出为输入,将其中的替换为# 1#line 1命名为myscript
  2. 编写一个脚本以首先自动调用 GCC 预处理,然后调用您的脚本myscript
  3. 将上述脚本命名为 Step 2-- gcc,将其放入本地 PATH 中。
于 2013-07-01T03:13:27.000 回答