C语言-“函数注册与回调模型”的动态库:实现模块间的交互(低耦合)

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

背景:编写一个模块的动态库,提供了必要的头文件和demo。

思考:首先弄清楚,要编写的库对外及提供几个接口。读懂相关头文件的结构体和自己写的库要用的函数。

在实际项目开发当中,有很多的库文件,尤其是在不同企业之间防止源码的公开,都是以库的形式提供给对方,然后提供必要的头文件。为了进一步加强源码的保密性,这种情况也普遍存在于同一个公司的不同项目组之间,将各个项目组,各个开发人员独立开来,级别低的开发者就接触不到公司核心源码,掌握公司的业务全貌。

本文介绍了,函数注册与回调机制,使用Makefile编译制作动态链接库,以及使用Makefile调用动态库。

“回调-注册”机制的目的可以实现模块化编程低耦合的目标,利于项目的开发和维护。

在查资料时,找到一篇对 “注册函数与回调模型” 解释的很好的文章:回调函数(callback)是什么? - 知乎 (zhihu.com)

什么是回调函数?

我们绕点远路来回答这个问题。

编程分为两类:系统编程(system programming)和应用编程(application programming)。所谓系统编程,简单来说,就是编写;而应用编程就是利用写好的各种库来编写具某种功用的程序,也就是应用。系统程序员会给自己写的库留下一些接口,即API(application programming interface,应用编程接口),以供应用程序员使用。所以在抽象层的图示里,库位于应用的底下。

当程序跑起来时,一般情况下,应用程序(application program)会时常通过API调用库里所预先备好的函数。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值