如何将C ++代码转换为C

我有一些C ++代码。在代码中,定义了许多类,它们的成员函数,构造函数,这些类的析构函数,很少的模板类和许多C ++东西。现在,我需要将源代码转换为纯C代码。

我有以下问题:

  1. 有什么工具可以将C ++代码和头文件转换为C代码?

  2. 我必须做的代码完全重写(我将不得不删除构造函数,析构函数和代码搬进了init()deinit()功能;改变类的结构,使现有的成员函数中的新定义的结构函数指针,然后调用这些使用函数指针等功能。)?

  3. 如果我必须自己手动进行转换,那么从C ++转换为C时需要注意哪些特定于C ++的代码数据构造/语义?


缥缈止盈
浏览 957回答 3
3回答

小唯快跑啊

虽然您可以用C语言进行OO(例如,通过向theType *this方法中添加第一个参数,并手动处理诸如vtables之类的多态性),但这在设计上从来就不是特别令人满意,而且看起来也很丑陋(即使存在一些预处理器漏洞)。我建议至少考虑重新设计,以比较其效果。总体很大程度上取决于回答的关键问题:如果你有工作的C ++代码,你为什么要℃,而不是?
打开App,查看更多内容
随时随地看视频慕课网APP