【发布时间】:2020-07-30 18:32:17
【问题描述】:
运行$ gcc -v 导致第一个命令是cc1 命令。首先,我在哪里可以找到所有参数的含义?我尝试输入man cc1、help cc1 等,但找不到任何内容。
在 linux 上,gcc -v file.c 导致第一个命令被(重新组织了一下):
/usr/lib/gcc/x86_64-linux-gnu/4.8/cc1 \
file.c \
-o ccN7P5D111.s
-quiet \
-v \
-imultiarch x86_64-linux-gnu \
-quiet \
-dumpbase file.c \
-mtune=generic \
-march=x86-64 \
-auxbase file \
-version \
-fstack-protector \
-Wformat \
-Wformat-security \
-
file.c是要编译的文件。 -
-o ccN7P5D111.s是输出文件(几乎是一个随机的 tmpfile)
还有其他人,嗯,不太确定。对它们的基本描述是什么?其中哪些重要?
【问题讨论】:
-
至少其中一些也是
gcc选项,并且认为它们对cc1和gcc的含义相同似乎是合理的。但我不太明白问题的重点,因为cc1是 GCC 的内部组件,而不是面向用户的可执行文件。 -
你试过阅读the GCC manual吗?如前所述,其中一些也是
gcc前端选项。内部cc1参数也可能记录在案。 -
cc1是 gcc 的一个实现细节,因此只有少量文档。您不应该以用户身份直接调用它。