gcc編譯參數

編譯

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
相關文章
相關標籤/搜索