以下以hello.c为例
1.编译
gcc -c hello.c
2.链接
gcc -o hello hello.o
3.运行
./hello
也可以使用便捷方式,将编译链接的代码合到一起
gcc -o hello hell.c
静态庫的编译链接,前面编译到.o文件步骤一样
重点:
ar -r hello.a hello1.o hello2.o
动态库的编译链接,动态庫编译成.o文件时需要加参数 - fpic
gcc -c -fpic hello.c
//将hello.c编译成hello.o, -c意为编译不链接, -fpic 意为位置独立代码,指示编译生成的代码要适合共享库的内容这样的代码能够根据载入内存的位置计算内部地址。
链接成so庫时:
gcc -shared hello.o -o hello.so
//将hello.o 等*.o文件组合成shared object,即动态链接庫