库文件定义:库文件用来保存变量和函数,可以使用,但是看不到变量的定义和函数的实现(我认为库文件的作用就是保护自己开发的源代码不被使用者看到,用来开发公司卖自己所创造的代码的功能)
成就感来源于创造与毁灭
——如何保持对编程的兴趣
/lib目录 存放的是系统的库文件
cd /usr/lib 目录存放的是应用软件自带的库
静态库与动态库的区别
静态库是执行前就加入到执行代码中,动态库是在执行过程中用到时才加载的,这样就导致了静态库与动态库有如下区别:
1、使用静态库编译的程序执行速度快,使用动态库编译的程序执行速度慢
2、使用动态库编译速度快,使用静态库编译速度慢
3、静态库编译的文件生成的可执行文件占用的内存比较大,动态库编译的程序生成的可执行文件占用的内存比较小
4、静态库写的代码不易升级,动态库写的代码升级方便
5、静态库编译的程序更容易部署,动态库编译的程序不易部署
怎样制作静态库:
静态库的后缀名是.a
1. gcc -c add.c 先生成目标文件
2. ar rcs libadd.a add.o
3. gcc main.c -ladd -L/root/11.11 -l 链接库文件 -L指定库文件所在的路径
4. ./a.out
怎制作动态库:
1. gcc -shared -fPIC -o libadd.so add.c
2. gcc main.c /root/suqian/11/11/libadd.so -o sdd
3. ./a.dd
libc.a liba.so :C语言自带的库包含printf scanf 字符串的处理命令 ,但里面没有数学库 math,h
数学库要链接数学库 libm.a libm.so gcc main.c -lm