需要从C++代码编写C代码?

Nee*_*tel -4 c c++ linux

我需要将4-5 .cpp和.h文件写入c代码.在C++代码中,我们定义了一个类,构造函数,析构函数,函数.

如何用C代码转换它们?有人可以给我一些例子,以便我可以实现它或提供链接,以便我可以更好地探索我的C代码吗?如何实现所有功能我的意思是构造函数,析构函数,C语言中的类函数?

Ste*_*owe 13

  1. 将所有类转换为数据结构(typedefs)
  2. 用使用malloc/calloc和free的函数替换构造函数和析构函数,并返回/获取指向typedef'd结构的指针
  3. 消除多态性; 如果这是不可能的,那么为每个typedef(一个大的switch语句)实现一个消息调度函数,并将消息表示为常量整数
  4. 更改所有函数以获取指向相应typedef的指针

请注意,typedef不支持子类型,因此必须将所有继承转换为合成.

  • 关于第3点,您还可以"手动"构建vtable,由伪构造函数初始化. (4认同)

Bri*_*ndy 5

有很多需要改变的注意事项和事情,但我认为你想做的是用C模拟面向对象的代码.

基本上,对于每个类,您需要取出函数并仅将数据成员保留在类/结构中(您将类重命名为struct并删除public/private/protected说明符).

然后,您需要为每个函数添加第一个参数,这是一个指向要操作的结构的指针.

  • 你究竟需要一个例子?如果您已经了解C++,那么本答案中概述的任务很简单. (2认同)