linux下gcc命令笔记

首先介绍一下gcc各种参数的含义:

-o:指定生成的输出文件;
-E:仅执行编译预处理;
-S:将C代码转换为汇编代码;
-wall:显示警告信息;
-c:仅执行编译操作,不进行连接操作。

1: gcc -c -fPIC *.c
生成与位置无关的 .o 文件(目标文件):
-fPIC表明使用地址无关代码。

2: gcc -shared -Wl -o libmyab.so a.o b.o
-shared 参数使其生成是动态库而不是普通执行程序。
-Wl选项告诉编译器将后面的参数传递给链接器。

3: gcc -shared -Wl,-soname,libmyab.so.1 -o libhello.so.1.10 a.o b.o
soname是一个链接库的名字,只包含共享库的主版本号,主版本号一致即可保证库函数的接口一致,因此应用程序的.dynamic段只记录共享库的soname,只要soname一致,这个共享库就可以用。

4: gcc world.c -DDEBUG -o app
-D选项告诉编译器在编译时增加对-D后面的宏的定义

5: ar rcs libxxx.a xx1.o xx2.o
创建一个静态库
参数r:在库中插入模块(替换)。当插入的模块名已经在库中存在,则替换同名的模块。
参数c:创建一个库。不管库是否存在,都将创建。
参数s:创建目标文件索引,这在创建较大的库时能加快时间。

6: gcc -I./include main.c dict.c -o app
-I:指定头文件目录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值