Unix/Linux C静态库的使用
来源:互联网 发布:android json转义字符 编辑:程序博客网 时间:2024/06/06 13:59
单独使用gcc的时候,不用考虑C_INCLUDE_PATH/CPLUS_INCLUDE_PATH/LIBRARY_PATH/LD_INCLUDE_PATH这些变量,但使用make的时候,就要显示地提供这些变量(如果必要)
静态库的创建与操作:
ar [drqtpmx] [options] archive.a object.o
-d: 从静态库中删除文件objfile
-r: 替换或插入objfile
-q: quick append,加入objfile without checking
-t: type打印静态库中的成员文件列表
-p: Print指定objfile
-m: move移动archive中的成员
-x: extract从静态库文件中抽取文件objfile
-c: 创建静态库文件
-s: 重置静态库文件索引
eg.释放静态库文件
#ar -x /usr/lib/libc.a
#ls *.o
_ctype.o
_cvt.o
...
xcvt.o
xstat.o
eg.创建静态库文件
#ar -svr libccc.a xcvt.o xstat.o
Creating libccc.a
#ar -t libccc.a
xcvt.o
xstat.o
eg.将静态库libpr.a相关代码链接到目标文件中
#cc main.c -L./ -lpr
或
#cc main.c ./libpr.a
静态库的创建与操作:
ar [drqtpmx] [options] archive.a object.o
-d: 从静态库中删除文件objfile
-r: 替换或插入objfile
-q: quick append,加入objfile without checking
-t: type打印静态库中的成员文件列表
-p: Print指定objfile
-m: move移动archive中的成员
-x: extract从静态库文件中抽取文件objfile
-c: 创建静态库文件
-s: 重置静态库文件索引
eg.释放静态库文件
#ar -x /usr/lib/libc.a
#ls *.o
_ctype.o
_cvt.o
...
xcvt.o
xstat.o
eg.创建静态库文件
#ar -svr libccc.a xcvt.o xstat.o
Creating libccc.a
#ar -t libccc.a
xcvt.o
xstat.o
eg.将静态库libpr.a相关代码链接到目标文件中
#cc main.c -L./ -lpr
或
#cc main.c ./libpr.a
其中-L./表在当前文件夹下寻找静态库
//pr1.c
#include <stdio.h>
void print1()
{
printf("This is the first static lib provided function: print1()./n");
return;
}
//pr2.c
#include <stdio.h>
void print2()
{
printf("This is the second static lib provided function: print2()./n");
return;
}
//main.c
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
print1();
print2();
return 0;
}
//makefile
lib:
g++ -O -c pr1.c pr2.c
ar -rv libpr.a pr1.o pr2.o
check:
ar -t libpr.a
test:
g++ -O -o main main.c -L./ -lpr
#g++ -O -o main main.c ./libpr.a
clean:
rm -f pr1.o pr2.o libpr.a main
- Unix/Linux C静态库的使用
- Unix/Linux C静态库的使用
- UNIX/Linux使用静态库
- 【C语言】【unix c】静态库的制作和使用
- Unix/Linux C 静态库生成&使用方法
- linux c中静态库的使用
- linux C复习:静态库的使用
- Linux C 静态库和动态库的使用
- Unix/Linux下的静态库和动态库
- linux/unix下的静态库和共享库
- 一、MySql数据库在Unix/Linux C的使用
- Linux静态库的使用
- Unix/Linux下静态函数库和动态函数库的制作及使用
- 【C语言】【unix c】静态库和动态库的区别
- 【C语言】【unix c】动态库的制作和使用
- C语言中静态库的使用
- linux下的C语言共享库和静态库的创建和使用
- c/c++unix/linux基础学习笔记-常用命令和vi的使用
- 无限级分类原理
- php截取固定大小图片
- 纪念过去的一年 之 VII
- 对于“深入tomcat”系列的说明
- ExtJS 动态改变 Ext.data.store 的url 地址
- Unix/Linux C静态库的使用
- FSSC 22000 食品安全管理系统
- Oracle创建用户
- Spring,hibernate,struts的面试笔试题(含答案)
- android 汉化和反编译
- LDAP协议介绍
- IGMPv3协议报文格式参考
- 线程栈空间的大小
- Linux Epoll介绍和程序实例