我有一个包含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++
源碼,工作量太大,而且還得重新測試