gcc编译参数

42次阅读

共计 525 个字符,预计需要花费 2 分钟才能阅读完成。

编译

    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

正文完
 0