背景:编写一个模块的动态库,提供了必要的头文件和demo。
思考:首先弄清楚,要编写的库对外及提供几个接口。读懂相关头文件的结构体和自己写的库要用的函数。
在实际项目开发当中,有很多的库文件,尤其是在不同企业之间防止源码的公开,都是以库的形式提供给对方,然后提供必要的头文件。为了进一步加强源码的保密性,这种情况也普遍存在于同一个公司的不同项目组之间,将各个项目组,各个开发人员独立开来,级别低的开发者就接触不到公司核心源码,掌握公司的业务全貌。
本文介绍了,函数注册与回调机制,使用Makefile编译制作动态链接库,以及使用Makefile调用动态库。
“回调-注册”机制的目的可以实现模块化编程的低耦合的目标,利于项目的开发和维护。
在查资料时,找到一篇对 “注册函数与回调模型” 解释的很好的文章:回调函数(callback)是什么? - 知乎 (zhihu.com)
什么是回调函数?
我们绕点远路来回答这个问题。
编程分为两类:系统编程(system programming)和应用编程(application programming)。所谓系统编程,简单来说,就是编写库;而应用编程就是利用写好的各种库来编写具某种功用的程序,也就是应用。系统程序员会给自己写的库留下一些接口,即API(application programming interface,应用编程接口),以供应用程序员使用。所以在抽象层的图示里,库位于应用的底下。
当程序跑起来时,一般情况下,应用程序(application program)会时常通过API调用库里所预先备好的函数。

本文介绍如何使用Makefile编译动态链接库,并通过实例演示回调函数注册与触发机制。通过编写一个提供叫醒服务的模块,实现了不同叫醒方式的灵活配置。
最低0.47元/天 解锁文章
1853

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



