GCC笔记

本文介绍了在Linux环境下使用GCC生成和应用静态库与共享库的方法。静态库以.a为扩展名,通过`ar`命令创建,使用时用`-l`参数。共享库以.so为扩展名,在运行时连接,创建时需加`-fPIC`和`-shared`选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GCC

参数说明
-ansi依据ANSI标准
-c跳过连接步骤直接生成目标文件(.o)
-g添加gdb调试信息到程序,调试程序时使用。
-m 类型根据给定CPU类型优化代码
-o 文件名生成可执行文件
-O [级别]指定优化级别0~3,越大程度越高,默认0
-S跳过汇编和连接阶段,并保留汇编代码(.s)文件
-v产生尽可能多的输出信息
-w忽略警告信息
-W产生比默认警告更多的警告信息
-E产生预处理(.i)文件
-I dir指定头文件搜索路径
-L dir库文件搜索目录
-static连接静态库
-l库名连接库文件
-Wall发出所有告警信息
-werror告警信息转为错误信息,有警告就停止编译

linux下函数库的命名规范:

lib+库名+.a/.so

.a:静态库

.so:共享库

gcc使用库时要用-l参数

gcc x.c -o x.out -l库名 (l和库名之间没有空格)

-L dir指定库文件搜索路径

生成库文件
静态库

静态库也称为归档库(archive),以.a结尾的文件。

如何创建静态库:

  1. 需要原程序 x.c x.h
  2. 使用gcc -c 编译成.o文件
  3. 使用ar命令创建静态库。 ar crv lib库名.a 所有.o文件
  4. 使用库时,include头库中函数声明的文件
  5. 编译时gcc -l参数指定库
共享库

共享库在运行时连接,以.so结尾的文件

gcc 源文件列表 -fPIC -shared -o lib库名.so

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值