功能:插入源文件包含的頭文件代碼和替換源文件中的宏定義代碼
命令c++
gcc -E hello.c -o hello.i
功能:將預處理代碼轉換爲彙編代碼
命令函數
gcc -S hello.i -o hello.s
功能:將彙編代碼轉換爲機器代碼
命令spa
gcc -c hello.s -o hello.o
功能:將各個目標件連接爲可執行程序
命令.net
gcc hello.o -o hello
文件結構調試
命令c++11
# 最簡單的可執行文件 gcc hello.c -o hello # 帶調試信息和編譯警告的可執行文件 gcc -g -Wall hello.c -o hello
文件結構code
命令blog
# 直接指定源文件與目標文件 gcc main.c math.c -o main
文件結構ip
命令內存
# 第一步:生成目標文件 gcc -c math.c -o math.o # 第二步:建立靜態庫 ar crv libmath.a math.o
查看靜態庫
# 查看 math.o 函數列表 nm math.o # 查看 libmath.a 函數列表 nm libmath.a
文件結構
命令
# -fPIC gcc math.c -fPIC -shared -o math.so
說明
文件結構
命令
# 需指定靜態庫目錄和靜態庫名稱 gcc main.c -L. -lmath -o main
說明
文件結構
命令
# math.so 與 main.c 位於同一目錄 gcc main.c -Wl,-rpath='.' math.so -o main
說明
添加加調試信息
gcc -g xxx.c
使用c++11標準編譯
g++ -std=c++11