1. 程式人生 > >Linux系統使用入門進階總結(6)——Ubuntu下gcc/g++編譯連結過程

Linux系統使用入門進階總結(6)——Ubuntu下gcc/g++編譯連結過程

文章轉自:
https://blog.csdn.net/VennyJin/article/details/82794331
這裡講的是最簡單的c/c++檔案在linux下編譯連結的過程,後期還可以使用cmake來完成更復雜的工程構建過程。請關注博主的後續文章哈~~~

Ubuntu下gcc / g++編譯連結過程

1. 編輯原始檔

假設我現在有一個最簡單的C++檔案:

1 #include <iostream>
2 using namespace std;
3 int main() {
4     cout << "Hello, world!!!!" << endl;
5     return 0;
6 }

2. 編譯hello.cpp

[[email protected] ~]$ g++ -c hello.cpp

輸出結果是一個hello.o檔案,這是編譯過程的生成的中間檔案。-c 表示只編譯,不連結

3. 連結hello.o生成hello.out

[[email protected] ~]$ g++ -o hello.out hello.o

輸出結果是一個hello.out檔案,這是最終的可執行檔案。-o 表示輸出檔案,hello.o是上一步生成的.o檔案。

當然,如果第2、3步是可以合併執行,直接執行命令

[[email protected]
~]$ g++ -o hello.out hello.cpp

然而第2、3步分開執行是有意義的,後面會講到。

4. 執行hello.out

最後執行以下hello.out驗證一下輸出結果唄

[[email protected] ~]$ ./hello.out