linux下gcc/g++編譯用法
關於gcc
gcc用於編譯C語言編寫的程式,在編譯程式時可以有很多可選引數。在終端中輸入gcc –help,可以檢視gcc的這些可選引數。
編譯過程:指的是gcc對一個程式進行編譯時完成的內部處理和步驟。編譯程式時會自動完成預處理(Preprocessing)、編譯(Compilation)、彙編(Assembly)和連線(Linking)四個步驟
控制預處理過程:引數-E可以完成程式的預處理工作而不進行其他的編譯工作。下面的命令,可以將本章編寫的程式進行預處理,然後儲存到檔案a.cxx中。
gcc -E -o a.cxx a.c
生成彙編程式碼:引數-S可以控制gcc在編譯C程式時只生成相應的彙編程式檔案,而不繼續執行後面的編譯。下面的命令,可以將本章中的C程式編譯成一個彙編程式。
gcc -S -o a.s a.c
生成目的碼:引數-c可以使用gcc在編譯程式時只生成目錄程式碼而不生成可執行程式。輸入下面的命令,將本章中的程式編譯成目錄程式碼
gcc -c -o a.o a.c
連結生成可執行檔案:gcc可以把上一步驟生成的目錄程式碼檔案生成一個可執行檔案。在終端中輸入下面的命令。
gcc a.o -o aa.out
編譯一個簡單的C程式:
gcc -o hello.out hello.c
編譯後生成了hello.out可執行檔案
編譯debug版本的C程式,很簡單,加上-g這個引數即可
gcc -g -o hello.debug hello.c
注意:使用-g生成的目的碼比不使用此引數生成的目的碼要大,通常在開發過程中使用-g引數,當釋出程式時則不使用-g引數
編譯完debug版本之後,可以使用gdb命令進行除錯,可以參考這個部落格http://blog.csdn.net/haoel/article/details/2879
待續......
相關文章
- linux下gcc/g++命令LinuxGC
- linux下的gcc編譯LinuxGC編譯
- 用ccache加速你的gcc/g++編譯(轉)GC編譯
- Linux下修改gcc和g++的版本LinuxGC
- gcc 和 g++ 的聯絡和區別,使用 gcc 編譯 c++GC編譯C++
- GCC/G++學習筆記 - 1 - 執行預編譯GC筆記編譯
- gcc g++支援C++11 標準編譯及其區別GCC++編譯
- Linux下如何用GCC編譯動態庫LinuxGC編譯
- Linux中gcc編譯工具LinuxGC編譯
- gcc編譯GC編譯
- Linux gcc編譯器安裝LinuxGC編譯
- gcc或g++的編譯選項 -shared -fPIC 與 -g -rdynamic 部分轉載GC編譯
- opensuse linux安裝gcc編譯環境LinuxGC編譯
- gcc與g++的區別GC
- gcc 和 g++ 的區別GC
- GCC編譯選項GC編譯
- GCC 編譯選項GC編譯
- gcc 編譯器與 clang 編譯器GC編譯
- g++的編譯器真強大編譯
- gcc編譯cpp檔案GC編譯
- GCC編譯器的使用GC編譯
- Linux環境下, 原始碼編譯安裝詳解 (編譯CMake 3.15 和 gcc 5.3.0 為例)Linux原始碼編譯GC
- Linux上安裝GCC編譯器過程(轉)LinuxGC編譯
- G++編譯連結的那些事!G++的特殊使用方法[常用]編譯
- gcc 編譯多個原始檔GC編譯
- gcc最佳編譯引數(轉)GC編譯
- 安裝 GCC 編譯器(轉)GC編譯
- 探索gcc編譯最佳化細節 編譯器最佳化gcc -o3GC編譯
- GCC編譯過程(預處理->編譯->彙編->連結)GC編譯
- 原創 【CentOS Linux 7】實驗4【gcc編譯器】CentOSLinuxGC編譯
- 開源編譯器 GCC 跨越 5.0,釋出 GCC 5.1編譯GC
- GCC 使用指南及gcc最佳編譯引數(轉)GC編譯
- 在aix5.2下面安裝gcc編譯器AIGC編譯
- g++ 和 gcc 的相同點和區別GC
- GCC編譯和連結過程GC編譯
- GCC編譯器背後的故事GC編譯
- linux 改變GCC編譯器的位元組對齊方式LinuxGC編譯
- 【踩坑記】Ubuntu 20.04.6 LTS下編譯安裝gcc 4.4.0Ubuntu編譯GC