我手动重写代码。
我有一个包含50多个.c文件和20多个.h文件的大型C程序
我需要将它们转换为类,以便我可以在单个exe中运行多个实例
我没有将C项目转换为C ++的经验。是否有指导要遵循?
我已经与Google进行了一些小型研究并制定了以下计划:
mv c to cpp并编译,修复所有隐式对流以显示对流
删除所有静态关键字(用于文件范围),解决全局名称冲突
为班级听众创建一个全局h文件(FOO类),将所有函数和变量defination作为成员移到类中
对于其他h文件中定义的宏和consts,包括extern“C”关键字
将cpp文件中的所有函数重命名为FOO :: function
答案 0 :(得分:0)
听起来您的计划是将50个文件转换为单个C ++类并实例化该类的多个实例。这充其量是对C ++类的严重误用。在实践中,这不太可行,因为您仍然只有一个执行线程。这些对象中只有一个可以一次运行。每次执行I / O操作(例如)时,一切都会停止,直到I / O操作完成。
我对你的具体情况一无所知,但总的来说,如果我正在解决这个问题,我会保留现有的代码来运行多个进程。我还编写了一个垫片类,它使用进程间通信(IPC)管理与这些进程的通信,例如UNIX套接字或命名管道。
如果您仍然觉得可以使用多个实例,那么请将当前源代码中的一小部分进行扫描并移植它,以便您可以理解这些问题。