Chinaunix首页 | 论坛 | 博客
  • 博客访问: 233427
  • 博文数量: 70
  • 博客积分: 3010
  • 博客等级: 中校
  • 技术积分: 650
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-24 14:33
文章分类

全部博文(70)

文章存档

2008年(70)

我的朋友

分类: C/C++

2008-04-24 16:21:12

一、静态库
1、
ar命令(创建或操作静态库)
        有二c源程序pr1.c , pr2.c
        1)编译 ".o"文件,命令:gcc  -c pr1.c pr2.c
        2)创建静态库 libpr.a ,命令:ar -rsv libpr.a pr1.o pr2.o
        3)静态库命名规则,必须按照 lib[name].a 的规则命名,如上例中[name]=pr。

2、试用库函数
     1)main.c
        int main(int argc, char *argv) {
   
             print1();
               print2();
   
       return 0;   
        }

     2)编译链接选项
        gcc -O -o main main.c -L./ -lpr // -O 增加代码优化处理“-lpr”的含义是链接静态库 libpr.a“-L./”的含义是可以在当前目录下查找库文件,链接后生成目标文件是 “main”
        或 gcc -O -o main main.c ./libpr.a //二者等价

二、动态库
1、
动态库的编译和生成
     1)gcc -O -fpic -shared -o d1.so d1.c //假定源文件是 “d1.c”“-fpic” 位置无关码(pic)型 .o文件“-shared” 是创建
最终动态库

     2)动态库的隐式调用
          gcc -O -o main main.c ./d1.so
阅读(519) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~