引言
本章有涉及到一些工程文件的组织方面的内容,由于之前已经写过类似的笔记,这次就不再多啰嗦了,如果有朋友有兴趣想去补充一下这方面知识,可以参考本人之前的文章- - 【C语言基础补充7】使用预处理让你的代码不再臃肿
在做项目开发的过程中,每个程序员都应该具备一个长远的思想,要让自己的代码拥有更加强的续航能力以及更强的适应能力,那么这一篇博客可能能够帮到你!
原理
- 不要将所有函数,头文件都放在main.c文件中。我们可以将头文件、函数定义等拆分为一个头文件存放在include文件夹,功能函数可以做成库lib,放到lib文件夹,有能力者还可以加入makefile来管理整个工程文件。
- 按照功能函数的需求,将功能函数做成对应的动态库,或者静态库。
- 在main.c函数中,通过使用
dlopen等语句,调用库来实现功能。 - 用户执行main可执行文件的时候,只需要输入参数,即可调用不同功能的库,实现插件式管理程序。
静态库与动态库的区别
下面以类比书店与图书馆的方式,给大家详细说明一下动态库与静态库的区别:

静态库:
生成命令:
ar rcs libxxx.a *.o
将该目录下所有的.o文件生成一个名字为xxx的静态库
动态库:
生成命令:
gcc -shared -fPI

本文介绍了如何在Linux环境下利用静态库和动态库进行插件式开发,详细阐述了静态库与动态库的区别,动态链接动态库的好处,并通过实例演示了静态库和动态库的创建及使用,强调了动态库在提升代码续航能力和层次性管理上的优势。
最低0.47元/天 解锁文章
5万+

被折叠的 条评论
为什么被折叠?



