【Linux 基础内容】gcc

GCC

编译工具链

  • arm-linux-
  • arm-none-eabi-
  • arm-elf-
  • arm-linux-guneabi-

交叉编译工具链网站
arm 官网提供的交叉编译工具链
几种交叉编译工具链的不同

gcc 常用配置项

配置项描述使用
-o指定输出文件类型 例如 .s .i 文件gcc -o main main.c
-E生成预处理文件 .igcc main.c -E -o main.i
-S编译后即停止,不进行汇编,生成汇编语言文件 .sgcc main.c -S -o main.s
-c预处理、编译、 汇编,但不进行链接,生成目标文件 .ogcc main.c -c -o main.o
-I大写的 i 表示添加头文件路径gcc main.c -o main -I=…/inc
-L表示添加库Lib路径gcc main.c -o main -I=./inc -L=./lib
-l小写l,表示具体lib文件名,例如有库libjpeg.so或者libm.agcc main.c -o main -I=./inc -L=./lib -l=jpeg -lm
-D定义宏gcc -D HELLO=0 -o main main.c
-w关闭编译时的警告gcc -w main.c -o main -I=./inc -L=./lib -l=jpeg -lm
-W/-Wall输出所有警告信息,可一起使用gcc -W -Wall main.c -o main -I=./inc -L=./lib -l=jpeg -lm
-g调试选项,可以配合 gdb 工具gcc -g main.c -o main -I=./inc -L=./lib -l=jpeg -lm
-O/-O1/-O2优化选项,-O0不优化,默认-O进行优化gcc -g main.c -O2 -o main -I=./inc -L=./lib -l=jpeg -lm
-Wl,–as-needed检查链接,加载必要的链接库gcc -Wl,–as-needed main.c -o main -I=./inc -L=./lib -l=jpeg -lm
-Wl, --no-as-needed将用户指定的链接库完全写入可执行文件中gcc -Wl,–no-as-needed main.c -o main -I=./inc -L=./lib -l=jpeg -lm
-static生成静态链接库gcc -w -static hello.c -o libhello.a
-shared生成动态链接库gcc -w -shared hello.c -o libhello.so
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值