静态库与动态库的创建与使用
2016-10-31 19:29
190 查看
一、什么是库文件?
你可以简单的把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.动态库的布局比较差,难以部署,静态库的布局更好,更容易部署。
你可以简单的把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.动态库的布局比较差,难以部署,静态库的布局更好,更容易部署。
相关文章推荐
- linux中静态库和动态库的创建和使用
- Windows静态库和动态库的创建和使用
- Linux中静态库和动态库的创建和使用
- Qt 创建与使用动态库与静态库
- 使用Automake生成Makefile及动态库和静态库的创建
- Windows静态库和动态库的创建和使用
- 创建和使用静态库和动态库
- 静态库、共享库、动态库的创建和使用(转自:http://scudong.blogbus.com/logs/27422827.html)
- linux 静态库(.a)、动态库(.so)的创建生成和使用方法
- VC++动态库和静态库创建与使用
- 静态库、共享库、动态库的创建和使用
- 静态库、共享库、动态库的创建和使用
- 静态库、共享库、动态库的创建和使用
- Linux下静态库,动态库的创建和使用,多个动态库使用
- 静态库、共享库、动态库的创建和使用
- 静态库、共享库、动态库的创建和使用
- Linux下静态库和动态库的创建和使用( 转载 )
- 静态库、共享库、动态库的创建和使用
- Windows静态库和动态库的创建和使用
- 静态库、共享库、动态库的创建和使用