❶ 有没有能把c语言代码转换成C++语言的软件
c++可以兼容c的,不需要转换,c语言的 windows.h 可以用c++的cwindows,其余的 都可以类推;
真的要转换的话,换的东西少的很,完全兼容,不需要任何修改.
❷ 有没有将c语言源代码转换成汇编语言的软件
如果只是想得到C语言或C++语言的汇编代码
可以通过指定编译器的选项来达成目的,这里我们用1998年生产的Windows平台VC6.0的SDK举例(以传统的命令行编译环境方式,对应的IDE集成开发环境可在工程》设置里在编译选项里加入/Fa即可):
开始》运行,输入cmd启动命令行,
若安装了VC6.0的SDK(或其IDE集成开发环境),默认路径为"C:\Program Files\Microsoft Visual Studio“
命令行输入"C:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT"回车执行初始化编译环境
命令行输入 mkdir CtoASMTest建立测试目录,并进入该目录,命令行输入 cd CtoASMTest
用记事本建立测试代码,命令行输入notepad CtoASM_test.c回车确认,输入以下测试C代码
int main(int argc,char* argv[]){
int i;
for(i = 0; i < argc; ++i){
printf("argv[%d] is:\t%s\n",i,argv[i]);
}
printf("CtoASM_test end.\n");
}
若直接默认编译,命令行输入cl CtoASM_test.c,则会产生对象文件*.obj和目标文件*.exe
命令行输入dir 列出测试目录文件清单如下,多了obj和exe编译产生的文件
CtoASM_test.c
CtoASM_test.exe
CtoASM_test.obj
若想得到c文件对应的汇编语言文件,可以指定汇编文件产生选项 /Fa,即cl /Fa CtoASM_test.c则会同时产生汇编文件CtoASM_test.asm,内容如下
TITLE CtoASM_test.c
.386P
include listing.inc
if @Version gt 510
.model FLAT
else
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
_DATA SEGMENT DWORD USE32 PUBLIC 'DATA'
_DATA ENDS
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
_BSS SEGMENT DWORD USE32 PUBLIC 'BSS'
_BSS ENDS
_TLS SEGMENT DWORD USE32 PUBLIC 'TLS'
_TLS ENDS
FLAT GROUP _DATA, CONST, _BSS
ASSUME CS: FLAT, DS: FLAT, SS: FLAT
endif
PUBLIC _main
EXTRN _printf:NEAR
_DATA SEGMENT
$SG41 DB 'argv[%d] is:', 09H, '%s', 0aH, 00H
ORG $+3
$SG42 DB 'CtoASM_test end.', 0aH, 00H
_DATA ENDS
_TEXT SEGMENT
_argc$ = 8
_argv$ = 12
_i$ = -4
_main PROC NEAR
; File CtoASM_test.c
; Line 1
push ebp
mov ebp, esp
push ecx
; Line 3
mov DWORD PTR _i$[ebp], 0
jmp SHORT $L37
$L38:
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
$L37:
mov ecx, DWORD PTR _i$[ebp]
cmp ecx, DWORD PTR _argc$[ebp]
jge SHORT $L39
; Line 4
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _argv$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
push ecx
mov edx, DWORD PTR _i$[ebp]
push edx
push OFFSET FLAT:$SG41
call _printf
add esp, 12 ; 0000000cH
; Line 5
jmp SHORT $L38
$L39:
; Line 6
push OFFSET FLAT:$SG42
call _printf
add esp, 4
; Line 7
mov esp, ebp
pop ebp
ret 0
_main ENDP
_TEXT ENDS
END
其中还可以产生其它文件,可以参考编译器的选项说明,命令行输入cl /?查看帮助,其中关于产生的输出文件类型可以有以下选择
-OUTPUT FILES-
/Fa[file] name assembly listing file /Fo<file> name object file
/FA[sc] configure assembly listing /Fp<file> name precompiled header file
/Fd[file] name .PDB file /Fr[file] name source browser file
/Fe<file> name executable file /FR[file] name extended .SBR file
----------------------------------------------
补充,
其它平台的编译器也有类似的汇编输出选项,如类Unix平台的GNU编译器cc -S CtoASM_test.c和gcc -S CtoASM_test.c 都可以通过指定-S选项产生c或c++代码对应的汇编语言文件。
❸ 有没有一个工具,能把c++代码,转换成c代码
C++兼容C语言,但C语言不可能兼容C++
所以,C++代码直接转是转不了C的。
只能从逻辑上,对C++的许多语法进行代码上的重新实现。
比如将对象转换为结构体,将对象封装的函数修改为独立函数,增加对象参数。
将重载去掉,而是根据需要调用非重载的不同名的函数。
总之来说,硬要将C++转为C实现的话,那代码重写的工作是避免不了的。
❹ 跪求C++转换C语言的工具!!!谢谢!
好像没有工具,就算有,转完了能正常运行,源代码也会面目全非(肯定和理想的不一样)因为编程思想上有很大的不同,你还是放弃吧
❺ pascal 转换成c语言的工具
你说这个不怎么现实,这要比能用PAS文件的C编译器难找多了。
如果你实在需要找一个可以用PAS文件的C编译器算了。
❻ 如何将一篇用C语言编的软件转变成用C++编程的
C++兼容C,就是说C代码可以(基本)不做修改就在C++编译器中被编译。当然源文件的扩展名要做改变(.c --> .cpp)
具体的说,你可以把某个C语言代码拿到C++编译器中编译,如遇错误,再改错直到能够编译执行就可以了。
如果你是说把C代码面向过程的编程方法改为C++面向对象的编程方法,那你就需要学习C++这门语言,然后读懂C语言代码,再手工写出对应的C++代码。
❼ 如何把c语言代码转化为c 语言,如下
你的问题是“C语言代码转化为c 语言”,比较奇怪。你所附代码里出现了:
using namespace std;
因此这应该是C++代码。
C和C++两者的比较明显的差别,就是前者面向过程,后者面向目标。若把C++的源代码,变成C,则需要把C++所定义的class之类,都拆开,按照C的方式进行组合。
具体到你的源代码,C++专有的只有2处。可以做如下改变:
using namespace std; --- 这一行删除
cin >> t; --- 这一行改成如下的C格式
scanf("%d", &t);
因为你所附的源代码被紧缩到一块了,比较不方便进一步查看。你可以试试看,有问题继续交流。
❽ 有没有C语言转换成VC语言的方法 工具最好 有吗
两者并不完全一样,没有办法直接转换,标准的C程序是可以用VC进行调试的
❾ 哪里有C++转换C语言的工具
这个工具除了人脑,应该没有比这更直接的了
❿ 怎么把用c语言开发的程序变成软件
1、打开Microsoft Visual Studio;