静态库和共享库
静态库特定:库里的方法会被拷贝到可执行程序中,目标主机即便没有该库,那么可执行程序仍然能执行。
ar crv libxx.a add.o max.o
共享库特点
可执行程序只做标记,并不包含共享库中的办法,在运行程序时才动态链接,目标主机没有共享库,程序无法执行。
库的使用,C库,默认就会被链接,其他库,需要用户指定。
静态库
gcc -o main main.c -L路径 -l库名
库的存放位置 /usr/lib 或者根的/lib
共享库的做法
Gcc -shared -fPIC -o libfoo.so add.o max.o
静态库和共享库的区别
静态库做出来的可执行程序比较大,内存占用大
如何查看可执行程序用到哪些共享库
ldd main