C++代码如何快速转成C

来源:百度知道 编辑:UC知道 时间:2024/06/07 00:52:51
如果C++代码不是很长,自己手动转也可以
但是如果C++代码很长的话那手动转估计就要崩溃了
C++里的继承,重载,虚函数,抽象类用C有如何表达呢?
这个还真是没想过
有经验的请指点下

C++兼容C语言,但C语言不可能兼容C++
所以,C++代码直接转是转不了C的。
只能从逻辑上,对C++的许多语法进行代码上的重新实现。
比如将对象转换为结构体,将对象封装的函数修改为独立函数,增加对象参数。
将重载去掉,而是根据需要调用非重载的不同名的函数。
总之来说,硬要将C++转为C实现的话,那代码重写的工作是避免不了的。

1、理论上没有快速转的可能。
2、甚至很多代码根本就无法转,除非你非常非常高明,而且能花太多太多的时时。
3、正如你所说,“继承,重载,虚函数,抽象类”在C里面根本就无法表达,只能推翻架构,基本上等效于重写。

没有这方面的工具,只能手工改了,工作量有点大啊
应该是碰到系统重构了吧,有得苦咯。想批量转化就甭想了,没这方面的工具的
先将C++编译成目标码

然后再反编译成C语言的源代码

理论上,应该可行的
你这个问题需要开发c++编译器的工程师才能给出满意的解答
个人认为c++的类在c里面根本无法实现,运行时也是直接转化成机器语言了
不会转化成c语言的
楼主的想法很假哦,不可能的。

c++可以向下兼容c 但是一个20年前的c编译器不可能向上兼容较新的c++呀!
简单来说不可能
c时代还没有你要的 继承,重载,虚函数,抽象类
1、理论上没有快速转的可能。
2、甚至很多代码根本就无法转,除非你非常非常高明,而且能花太多太多的时时。
3、正如你所说,“继承,重载,虚函数,抽象类”在C里面根本就无法表达,只能推翻架构,基本上等效于重写。

先将C++编译成目标码

然后再反编译成C语言的源代码

理论上,应该可行的

呵呵,你这个问题需要开发c++编译器的工程师才能给出满意的解答
个人认为c++的类在c里面根本无法实现,运行时也是直接转化成机器语言了
不会转化成c语言的
楼主的想法很假哦,不可能的。

c++可以向下兼容c 但是一个20年前的c编译