我有一个包含50+ .c 和 20+ .h 的c工程,需要转成c++类以便在单个exe中产生多个实例
是否有通用的指导方法
我google了一下,想到下面几点
把.c 改为 .cpp 解决所有隐式转换的错误
删除static修饰,处理全局名字冲突
创建一个全局.h 文件,新建一个FOO类,把所有的全局函数,变量放入这个类
原先保存宏和常数的头文件以 extern "C"方式 include
所有的函数重命名为FOO::函数
学习是最好的投资!
撰写c++的类文件封装c的代码
见过很多C++调用C库的工程,都是把C库用C编译器编译成library,然后C++代码用extern "C"方式include接口,然后写一个类封装你用到的接口,最后链接到library。
C++
C库
C编译器
library
extern "C"
include
这样会比较轻松而且正确性有保证吧,如果把C改成C++源码,工作量太大,而且还得重新测试
C
撰写c++的类文件封装c的代码
见过很多
C++
调用C库
的工程,都是把
C库
用C编译器
编译成library
,然后
C++
代码用extern "C"
方式include
接口,然后写一个类封装你用到的接口,
最后链接到
library
。这样会比较轻松而且正确性有保证吧,如果把
C
改成C++
源码,工作量太大,而且还得重新测试