静态库与动态库

来源:互联网 发布:推广数据留言 编辑:程序博客网 时间:2024/05/21 09:51

1.静态库:工程在调用静态库时,复制静态库,源代码加长,不节省程序空间。    后缀名.a

  优点:编程后不需要再依赖库(以空间换时间)

创建静态库:gcc -c 源文件.c

            ar [rcs/rcu] 静态库名 目标文件1 目标文件2

                rc 静态库不存在,就创建该库文件

                s  更新静态库

使用:gcc -o file -L. -lname (-L.在当前目录下)

ar -t libname.a  显示库中所有.o文件

   -d libname.a  name.o  在库中.o的目标文件删除(不报错)

   -dv  libname.a  name.o  在库中.o的目标文件删除(显示删除         

成功或错误信息)

   -x 库名 name.o 文件名  从库中提取目标.o文件

2.动态库:工程建立映射关系,每次调用都需要去库中加载

  后缀名 .so   优点:程序轻便,便于升级

动态库的创建:gcc -share -fPIC -o libname.so 源文件.c

              gcc -fPIC -c 源文件.c

              gcc -share name.o name.o libname.so

使用:gcc 源文件.c ./libname.so -o 可执行文件名

0 0
原创粉丝点击