静态库和动态库的区别,以及静态库应该怎么进行创建和使用
一般C语言写的程序可以让其他语言进行调用,比如python, java,等等
c语言有两种库类型,静态库和动态库(共享库)
静态库和动态库的区别
静态库
- 静态库需要和程序进行一起编译
- 静态库在原理上是性能比动态库要高的
- 一般应用在对空间要求较低,而对时间要求的核心程序中
动态库
- 动态库可以被程序直接进行调用不用一起进行编译
- 虽然原理上性能比静态库低,但是现在优化的已经效率很高了
- 一般在写应用程序非核心部分的时候都是用的动态库
创建一个静态库
命令:ar rcs libmulib.a file1.o
- 上面的命令ar rcs libxxx.a file.o,中只有xxx的部分是可以进行发挥的部分
静态库的制作步骤
-
先生成.o文件
- gcc -c hello.c -o hello.o
-
生成静态库,使用ar工具
- ar rcs lib库名.a a.o b.o c.o
-
使用静态库
- gcc test.c libtest.a -o test