静态库与动态库的创建与使用

来源:互联网 发布:c语言界面的汉化 编辑:程序博客网 时间:2024/05/17 02:33

一、什么是库文件?

              你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数,但是不能看到函数的实现过程,其文件也不能单独运行!

二、Linux库文件的分类及存储路径?

               Linux库文件分为静态库和动态库:

               静态库:是在执行程序之前就已经加入到执行代码中,成为执行程序的一部分来执行的,后缀名:.a
               动态库:是在执行程序启动时加载到执行代码中,后缀名:.so

               库文件的存储路径包括   /lib   系统库  和/usr/lib   程序库

三、静态库的制作与使用

               创建:

                       gcc -c 源文件.c

                       ar rcs  静态库名 (lib名.c) 目标文件1 目标文件2

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

                       s :更新库文件

              使用:

                       静态库创建成功后,然后对全局变量和函数进行声明,在编译时加上库文件就行

                       gcc 文件 -l文件名 -L. 指定库的名字

四、动态库的制作与使用

              创建:

                       gcc -shared -FPIC -o 库名.so 源文件.c

              使用:

                       gcc 源文件.c ./库名.so -o 可执行文件名

五、静态库与动态库的区别

       1.静态库执行更快,不用加载静态库,但是编译时间较长;动态库执行速度慢,在执行时还要加载动态库,编译时间更快;

       2.静态库的代码体积比较大,编译的可执行文件过大,动态库的代码体积更小;

       3.静态库难以升级,升级时需要重新编译安装,动态库更易于升级,升级时只需要加载更新内容;

       4.动态库的布局比较差,难以部署,静态库的布局更好,更容易部署。

                    
 

0 0
原创粉丝点击