请问有什么好的C语言面向对象的扩展的方式?最好是有比较好的项目的源码参考。

虽说你提到“不是换个编程语言”,不过我总觉得使用 C 配合另一种语言的混搭方案,往往可以更好地解决问题,并且减少因为”模拟“而产生的维护成本。我觉得 C+Lua 是个很好的方案,效率高,接口清晰,灵活而优雅。虽然 Lua 里也没有原生的 OO 机制,不过使用 Lua 来模拟 OO 要比用 C 直觉、无痛许多。而且 Lua 本身的数据结构简单而强大,偶尔会让 OO 看起来如同隔靴搔痒。

而且 C+Lua 这个混搭方案也适合其他范式的扩展,并不会把人局限在 OO 上面。
原发布于 https://www.zhihu.com/question/19589759/answer/12315794