如何将大型C项目转换为VC ++

时间:2016-04-22 17:12:26

标签: c++ visual-c++

我手动重写代码。

我有一个包含50多个.c文件和20多个.h文件的大型C程序

我需要将它们转换为类,以便我可以在单个exe中运行多个实例

我没有将C项目转换为C ++的经验。是否有指导要遵循?

我已经与Google进行了一些小型研究并制定了以下计划:

  1. mv c to cpp并编译,修复所有隐式对流以显示对流

  2. 删除所有静态关键字(用于文件范围),解决全局名称冲突

  3. 为班级听众创建一个全局h文件(FOO类),将所有函数和变量defination作为成员移到类中

  4. 对于其他h文件中定义的宏和consts,包括extern“C”关键字

  5. 将cpp文件中的所有函数重命名为FOO :: function

1 个答案:

答案 0 :(得分:0)

听起来您的计划是将50个文件转换为单个C ++类并实例化该类的多个实例。这充其量是对C ++类的严重误用。在实践中,这不太可行,因为您仍然只有一个执行线程。这些对象中只有一个可以一次运行。每次执行I / O操作(例如)时,一切都会停止,直到I / O操作完成。

我对你的具体情况一无所知,但总的来说,如果我正在解决这个问题,我会保留现有的代码来运行多个进程。我还编写了一个垫片类,它使用进程间通信(IPC)管理与这些进程的通信,例如UNIX套接字或命名管道。

如果您仍然觉得可以使用多个实例,那么请将当前源代码中的一小部分进行扫描并移植它,以便您可以理解这些问题。