我有一些C ++代碼。在代碼中,定義了許多類,它們的成員函數(shù),構(gòu)造函數(shù),這些類的析構(gòu)函數(shù),很少的模板類和許多C ++東西?,F(xiàn)在,我需要將源代碼轉(zhuǎn)換為純C代碼。我有以下問(wèn)題:有什么工具可以將C ++代碼和頭文件轉(zhuǎn)換為C代碼?我必須做的代碼完全重寫(xiě)(我將不得不刪除構(gòu)造函數(shù),析構(gòu)函數(shù)和代碼搬進(jìn)了init(),deinit()功能;改變類的結(jié)構(gòu),使現(xiàn)有的成員函數(shù)中的新定義的結(jié)構(gòu)函數(shù)指針,然后調(diào)用這些使用函數(shù)指針等功能。)?如果我必須自己手動(dòng)進(jìn)行轉(zhuǎn)換,那么從C ++轉(zhuǎn)換為C時(shí)需要注意哪些特定于C ++的代碼數(shù)據(jù)構(gòu)造/語(yǔ)義?
3 回答

小唯快跑啊
TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個(gè)贊
雖然您可以用C語(yǔ)言進(jìn)行OO(例如,通過(guò)向theType *this
方法中添加第一個(gè)參數(shù),并手動(dòng)處理諸如vtables之類的多態(tài)性),但這在設(shè)計(jì)上從來(lái)就不是特別令人滿意,而且看起來(lái)也很丑陋(即使存在一些預(yù)處理器漏洞)。
我建議至少考慮重新設(shè)計(jì),以比較其效果。
總體很大程度上取決于回答的關(guān)鍵問(wèn)題:如果你有工作的C ++代碼,你為什么要℃,而不是?
- 3 回答
- 0 關(guān)注
- 992 瀏覽
添加回答
舉報(bào)
0/150
提交
取消