Chinaunix首页 | 论坛 | 博客
  • 博客访问: 839543
  • 博文数量: 156
  • 博客积分: 6553
  • 博客等级: 准将
  • 技术积分: 3965
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-22 18:36
文章存档

2012年(3)

2011年(43)

2010年(110)

分类: LINUX

2010-11-18 11:43:24

静态库只在链接时需要。命名规则为 lib.a
动态库在链接时和运行时都需要。命名规则为lib.so 或者lib.so.<版本号>
 
编译器默认情况下是先去找动态库,如果动态库找不到,就再去找静态库。也可以使用-static 指定使用静态库。
如:gcc -o hello main.c -L . -lmyhello
-L 为指定库所在路径 
-l 为指定要找的库名。 这里编译器会去找libmyhello.so.* 或 libmyhello.a
 
静态库和动态库比较:
采用静态库时,得到的可执行程序文件会比较大,当库更新时,需要重新编译,程序执行时不需要跳转到库地址执行,所以执行速度会相对较快。
采用动态库时,优缺点刚好和上面相反。
阅读(987) | 评论(0) | 转发(5) |
给主人留下些什么吧!~~