下载后可任意编辑轻量级的面对对象 C 语言编程框架 LW_OOPC 介绍金永华、陈国栋2024/03/02摘要:本文介绍一种轻量级的面对对象的 C 语言编程框架:LW_OOPC。LW_OOPC 是 Light-Weight Object-Oriented Programming in(with) C 的缩写,总共一个.h 文件,20 个宏,约 130行代码,非常的轻量级,但却很好的支持了很多面对对象的特性,比如继承、多态,可以优美的实现面对接口编程。这个框架系由台湾的高焕堂先生以及他的 MISOO 团队首创,之后由我继续改进优化,最后,经高焕堂同意以 LGPL 协议开源(开源网址参见后文)。用 C 语言实现 OO?我没听错吗?这听起来真是太疯狂了!… 大家都知道,C++支持了面对对象和面对泛型编程,比 C 要更强大些。那么,为什么要在 C 语言中实践面对对象呢?为什么不直接使用 C++呢?为什么要用面对对象?面对过程方式开发的系统,代码复杂,耦合性强,难以维护,随着我们所要解决的问题越来越复杂,代码也变得越来越复杂,越来越难以掌控,而面对对象改变了程序员的思维方式,以更加符合客观世界的方式来认识世界,通过合理的运用抽象、封装、继承和多态,更好的组织程序,从而很好地应对这种复杂性。 为什么不直接使用 C++?C 和 C++之争由来已久,可能要持续到它们中的一种去世^_^。C 语言以其简洁明快,功能强大的特点,深得开发人员的喜爱,尤其是在嵌入式开发领域, C 语言更是占据了绝对老大的地位。在我看来,语言只是工具,作为程序员,我们要做的是:选择合适的语言解决恰当的问题。我们要尊重事实,考虑开发环境(软硬件环境),考虑团队成员的水平从商用工程的角度讲,选择团队成员擅长的语言进行开发,风险要小很多。一些从 Java/C#转到 C 的程序员们,无法从面对对象切换到面对过程,但又必须与 C 语言同事们在遗留的 C 系统上开发软件,他们有时会非常困惑:C 语言是面对过程的编程语言,如何实践面对对象,甚至面对接口编程呢?此时,就非常需要在 C 语言中实现面对对象的手段,而 LW_OOPC 正是应对这一难题的解决之道。LW_OOPC 是什么?简而言之:LW_OOPC 是一套 C 语言的宏,总共 1 个.h 文件(假如需要内存泄漏检测支持以及调试打印支持,那么还需要 1 个.c 文件(lw_oopc.c,约 145 行)),20 个宏,约130 行代码。LW_OOPC 是一种 C 语言编程框架,用于支持在 C 语言中进行面对对象编程。LW_OOPC 宏介绍下面,先通过一个...