GCC编译静态库及动态库

时间:2022-07-22
本文章向大家介绍GCC编译静态库及动态库,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

将文件编译为静态库.a

# 将cJSON.c编译为cJSON.o, -c只编译不连接
➜ gcc -c cJSON.c 

# 组合为静态链接库. 使用cJSON.o创建静态库libcJSON.a
➜ ar -r libcJSON.a cJSON.o 

# 将静态库作为一个系统共享的静态链接库(lib文件夹)
➜ cp libcJSON.a /usr/local/lib

# 此时就可以使用 -l 参数去使用静态库了.
➜ gcc main.c -o main -lcJSON 

将文件编译为动态链接库.so

# 编译动态链接库
# # -fPIC: Position-Independent Code 生成位置无关的代码
➜ gcc -fPIC -shared -o main.so main.c