【发布时间】:2011-01-01 07:26:14
【问题描述】:
我在哪里可以找到一些关于用 C 编写可扩展、模块化、松散耦合的代码(如果可能的话)的好的、经过验证的指南或示例?
我们问题的背景是,我们正在为计算和内存资源有限的低成本微控制器维护大型纯 C 遗留代码项目。由于系统必须非常可靠且内存相当有限,因此第一个限制条件之一是根本不使用动态内存分配。所有结构都是静态映射的。
因此,我们正在寻找使此代码更易于维护和更模块化的方法。 我们对编码标准不感兴趣,而是对设计建议感兴趣。我们有很好的编码约定(命名、组织代码、SVN),所以这不是问题。
从我在网上看到的情况来看(我可能错了),似乎大多数只使用纯 C 或汇编程序编程的程序员,至少在 uC/Embedded 社区中,都限制使用任何更简单的东西程序化编程。
例如,我们可以使用回调函数、包含函数指针的结构和类似的东西(它不需要动态分配,只需传递指向结构的指针),在普通 C 中获得大部分 OOP 优势和解耦,但我们会想看看是否已经有一些行之有效的方法。
你知道这些资源吗,或者有类似的建议除了“你为什么不切换到C++或其他编程语言”?
[编辑]
非常感谢所有答案,我还没有时间检查它们。 平台是 16 位(XC166 或类似)uC,裸硬件(无 RTOS)。
【问题讨论】:
-
出于兴趣,你在写什么架构?
-
这也是我一直在思考的问题。
-
如果我们对目标有更多了解,也有助于回答问题。你在为 Linux 编码吗?然后会想到某些事情。你有 MMU 吗?某些事情是可能的。你在为裸硬件编码吗?很多事情都成为可能。
标签: c embedded coding-style