一、静态编译
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++即可,其他均不变。