❶ 有沒有能把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;