Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1058848
  • 博文数量: 573
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 66
  • 用 户 组: 普通用户
  • 注册时间: 2016-06-28 16:21
文章分类

全部博文(573)

文章存档

2018年(3)

2016年(48)

2015年(522)

分类: 嵌入式

2015-12-09 19:32:03

静态库

生成:在编译时候,先生成目标文件 .o,然后用 ar 文件对目标文件归档,生成静态库文件。

例如:

ar -rc libtest.a myalib.o

注意:ar -rc libxxx.a  xxx.o,目标一定要以lib开头

3、使用时候,在链接时候,加上选项 -l 后接库文件名,注意:必须是文件名去掉 "lib" 和后缀

例如:

gcc -o main main.o -ltest

而且 -ltest 必须放在 main.o 的后面,(规则是,越底层的库越要放在后面)。

4、gcc 的其他常用的选项,

-c 编译成目标文件 如:gcc -c main.c 就是编译 main.c 成目标文件 main.o

-I 头文件的查找路径,如:gcc -c main.c -I./inc 意思是:头文件的查找路径除了默认的之外,再加上./inc目录下的。

-L 库文件的查找路径,如:gcc -o main main.o -L./lib -ltest 说明:libtest.a 或者 libtest.so 库文件的查找路径除了默认之外,再加上./lib目录。

-MM 导出文件的依赖关系(用#include 中的内容)如:gcc -MM main.c找出main.c的所依赖的头文件

-o 生成最终目标

-D宏定义 相当于在C中些语句#define ... 如:-DPI=3.14 就相当于在文件里面写语句#define PI 3.14
阅读(352) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~