下面演示gcc對C源程序的分步編譯過程:
1. 編譯(Compile)
gcc hello.cpp -c # 生成hello.o,目標文件名字和源文件名字一樣,VC編譯會生成.ojb文件,gcc編譯器會生成.o文件
備注:
上面的編譯實際上是 執行了兩步操作: 編譯 + 匯編,即先把C程序(.cpp)文件編譯成 匯編文件(.s),再把匯編文件(.s)匯編成二進制文件(.o);
如果要想看到匯編文件(.s),可以用 gcc hello.cpp -S命令;
也就是說 gcc hello.cpp -c 等價於下面兩條命令
gcc hello.cpp -S # 把.cpp文件編譯成 .s文件
gcc hello.s -c # 把.s文件匯編成.o文件
2. 鏈接(Link)
gcc hello.o -o hello.exe # 生成hello.exe文件