Chinaunix首页 | 论坛 | 博客
  • 博客访问: 392809
  • 博文数量: 80
  • 博客积分: 1982
  • 博客等级: 上尉
  • 技术积分: 1737
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-26 22:41
文章存档

2013年(9)

2012年(71)

分类: LINUX

2012-10-20 20:31:43

    函数库分为静态库和动态库两种。静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。
使用 gcc 创建和使用静态库:
简单地说,静态库是一个目标文件的简单集合,因此,首先要解决目标文件。
gcc -c hello.c 生成 hello.o

由ar(archive,归档的意思)把多个目标文件集合起来。
ar cr libhello.a hello.o  (cr 告诉 ar 将 object 文件封装到 libhello.a)

其他函数使用该静态库
gcc -o main main.c -L../lib -lhello
-L 指定 lib 的搜索路径,-l 指定了链接库的名字

使用 gcc 创建和使用动态库:

gcc -c hello.c 生成 hello.o
-fPIC 告诉 gcc 将源码编译成共享的 object文件,PIC(Position-Independent Code) 位置独立代码

gcc -shared -fPIC -o libhello.so hello.o


其他函数使用该静态库
gcc -o main main.c -L../lib -lhello
-L 指定 lib 的搜索路径,-l 指定了链接库的名字


                       ——忠于梦想 勇于实践    linux_xpj@opencores.org
阅读(1790) | 评论(0) | 转发(6) |
给主人留下些什么吧!~~