如何让 gcc 显示调用的内部命令?

Mar*_*nau 8 gcc

是否有可能让 gcc (MinGW/Windows) 显示所有调用的命令行?

例子:

gcc -o test.exe test.c -desiredOption
Run Code Online (Sandbox Code Playgroud)

...应该输出如下内容:

cc1 -o intermediate.s test.c
as -o intermediate.o intermediate.s
ld - o test.exe intermediate.o crt0.o -lsomelibrary -e __start
Run Code Online (Sandbox Code Playgroud)

背景:

有时,当我调用“gcc”时,某些与汇编程序相关的选项可以很好地工作,但是当我尝试直接调用“ld.exe”时,它们根本不起作用。因此,我想知道哪个选项是由“gcc.exe”真正传递给“ld.exe”的。

在 Linux 下,我会使用类似的东西:

strace -f gcc -o test.exe test.c
Run Code Online (Sandbox Code Playgroud)

...查看命令行(作为execve系统调用的参数)。

Bas*_*tch 7

阅读GCC 文档Invoking GCC章节。您需要以下选项-v

打印(在标准错误输出上)为运行编译阶段而执行的命令。还要打印编译器驱动程序以及预处理器和编译器的版本号。

请注意,在 Linux 上,strace(1)不显示命令行,而是显示系统调用