編譯
gcc -c main.c ==== 編譯不連接,生成.o目標文件
gcc -E main.c ==== 預處理
gcc -S main.c ==== 只編譯不彙編
gcc -g main.c -o main_d ==== 可進行gdb調試
gcc -Dname='xinzhu' === 定義宏 define name 'xinzhu'
gcc main.c -o main -I../path
gcc main.c -o main -I../path -L../path
gcc -I [大寫字母i]尋找頭文件目錄 /usr/local/include
gcc -L [大寫字母l]尋找庫文件 /usr/local/lib
gcc -l word [小寫字母l], 尋找動態連接庫文件libword.so
靜態庫 .a結尾
# 建立.o目標文件
gcc -c test.c -o libtest.o
#建立libtest.a靜態庫
ar rcs libtest.a libtest.o
#連接靜態庫
gcc -o test main.c -ltest
動態庫 .so結尾
# 使用位置無關代碼建立目標文件
gcc -c -fPIC test.c -o test.o
# 建立共享庫libtest.so
gcc -shared -o libtest.so test.o
# 連接靜態庫
gcc -o test main.c -ltest