Chinaunix首页 | 论坛 | 博客
  • 博客访问: 76055
  • 博文数量: 57
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 10
  • 用 户 组: 普通用户
  • 注册时间: 2013-08-11 08:58
文章分类
文章存档

2013年(57)

我的朋友

分类: LINUX

2013-08-11 09:10:32

    函数库分为静态库和动态库两种。静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。
使用 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
阅读(597) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~