c/c++动态链接库,缩短编译时间!

0 阅读1分钟

简介

c/c++开发中,将常用的代码封装为代码库是常见需求
使用代码库时,如果每次都源码编译
会导致编译时间长,重复编译,组织文件复杂等问题
那有没有解决方案呢?有!动态链接库解君愁

什么是动态链接库?

由操作系统运行时加载,可多程序共享的二进制代码库

操作

gcc clang 编译器操作一致

# 编译模块为动态库
gcc -fPIC -shared -o <库名> <源文件>
# <库名> 应当遵守规范
# "lib name .suffix"
# 例: libout.so(linux) libout.dll(win) libout.dylib(mac)

# 链接动态库
gcc <入口文件> -l <库名> -L <库路径> -Wl,-rpath=<库路径>
# <入口文件> 是包含 main() 函数的".c/.cpp"文件
# <库名> 不要带"lib"".suffix"
# <库路径> 只用相对路径

来源

结尾

感谢读者的耐心阅读,如有疑问,欢迎私信作者b站