如何把C工程转成C++工程

浏览:51日期:2023-05-08

问题描述

我有一个包含50+ .c 和 20+ .h 的c工程,需要转成c++类以便在单个exe中产生多个实例

是否有通用的指导方法

我google了一下,想到下面几点

把.c 改为 .cpp 解决所有隐式转换的错误

删除static修饰,处理全局名字冲突

创建一个全局.h 文件,新建一个FOO类,把所有的全局函数,变量放入这个类

原先保存宏和常数的头文件以 extern 'C'方式 include

所有的函数重命名为FOO::函数

问题解答

回答1:

撰写c++的类文件封装c的代码

回答2:

见过很多C++调用C库的工程,都是把C库用C编译器编译成library,然后C++代码用extern 'C'方式include接口,然后写一个类封装你用到的接口,最后链接到library。

这样会比较轻松而且正确性有保证吧,如果把C改成C++源码,工作量太大,而且还得重新测试

相关文章: