2016-11-13 35 views
0

是否有可能讓gcc(MinGW/Windows)顯示所有命令行?如何讓gcc顯示所調用的內部命令?

例子:

gcc -o test.exe test.c -desiredOption 

...輸出應該是這樣的:

cc1 -o intermediate.s test.c 
as -o intermediate.o intermediate.s 
ld - o test.exe intermediate.o crt0.o -lsomelibrary -e __start 

背景:

有時一些彙編相關的選項工作得很好,當我稱之爲 「海灣合作委員會」,但當我嘗試直接調用「ld.exe」時,它們根本不工作。所以我想知道哪個選項真的被「gcc.exe」傳遞給「ld.exe」。

在Linux下,我會使用類似:

strace -f gcc -o test.exe test.c 

...查看命令行(作爲execve系統調用的參數)。

+0

否,[strace(1)](http://man7.org/linux/man-pages/man1/strace.1.html)不顯示*命令*行,但[系統調用](https: //en.wikipedia.org/wiki/System_call)。你問的是錯誤的問題。 –

回答

0

閱讀GCC documentation。你的Invoking GCC章希望-v option

打印(在標準錯誤輸出)執行運行編譯階段的命令。還要打印編譯器驅動程序的版本號以及預處理器和編譯器的版本號。

注意,在Linux上,strace(1)不顯示命令線,但system calls

+0

非常感謝。 「-v」正是我需要的選項。 –