linux下静态库、动态库的创建与使用

一、静态编译

gcc -static a.c -o a.out         

gcc默认使用动态链接

二、静态库的创建与使用

gcc -c mylib.c -o mylib.o         

只编译不链接


ar cqs libmylib.a mylib.o         

将*.o文件打包成库


cp libmylib.o /usr/lib/
gcc -static test.c -lmylib -o test    

gcc在链接时,默认只会链接C函数库,而对于其他的函数库 ,则需要使用-l选项来显示地指明需要链接
 

三、动态库(共享库)的创建与使用

gcc -c mylib.c -o mylib.o
gcc -shared -fPIC mylib.o -o libmylib.so
cp libmylib.so /usr/lib/
gcc test.c -lmylib -o test

注:源代码为cpp文件时只需将上述整个过程中的gcc改为g++即可,其他均不变。

原文地址:https://www.cnblogs.com/bettercoder/p/3373306.html