c可以用c編譯嗎
C編譯的整個過程很復雜,大致可以分為以下四個階段:
預處理階段在該階段主要完成對源代碼的預處理工作,主要包括對宏定義指令,頭文件包含指令,預定義指令和特殊字元的處理,如對宏定義的替換以及文件頭中所包含的文件中預定義代碼的替換等,總之這步主要完成一些替換工作,輸出是同源文件含義相同但內容不同的文件。
編譯、優化階段編譯就是將第一階段處理得到的文件通過詞法語法分析等轉換為匯編語言。優化包括對中間代碼的優化,如刪除公共表達式,循環優化等;和對目標代碼的生成進行的優化,如如何充分利用機器的寄存器存放有關變數的值,以減少內存訪問次數。
匯編階段將匯編語言翻譯成機器指令。
鏈接階段鏈接階段的主要工作是將有關的目標文件連接起來,即將在一個文件中引用的符號同該符號在另外一個文件中的定義連接起來,使得所有的目標文件成為一個能夠被操作系統裝入執行的統一整體。
B. C++編譯器可以編譯C程序嗎
為什麼不早說是VC++2010,用它編譯C語言程序的方法如下:
File->New->Project
在打開的New Project對話框中最左側一欄中選擇Visual C++下面的CLR,之後在其右側的區域中選擇CLR Empty Application
並在下面的三個文本框中填入工程名稱(Name),工程位置(Location)以及解決方案名稱(Solution Name)
之後單擊OK
然後可以解決方案瀏覽器中看到剛才新建的工程,右擊工程名,選擇Properties(屬性),在打開的對話框中選擇Configuration Properties(配置屬性)下面的General(一般),然後將右邊對話框中的Common Language Runtime Support(CLR支持)改為"No Common Language Runtime Support",然後點擊確定退出
接下來右擊工程中的Source Files,選擇Add->New Item...,在打開的對話框中選擇「C++ File(.cpp)",並在下方輸入一個以.c結尾的文件名,之後點擊Add,之後就可以在這個文件中加入C語言代碼,按F5就可以調試運行了。
C. c語言可以在vc編譯器寫么。怎麼用
可以,新建時有選項可以選的。
最簡單的是你寫一個*.c然後用VC打開
D. C語言能用C++編譯器編譯嗎那和TOCBUR2有什麼不同的
可以,在程序編寫上沒有不同,具體的區別就是IDE的操作各不相同罷了。
E. 將c程序寫在cpp文件里可以用c++編譯器編譯嗎
不可以的,因為c++是高級語言,需要編譯軟體對其進行編譯,編程機器語言之後才可以運行
F. 編譯c語言可以用c++的編譯器嗎
不可以,比如你用C編譯器能編譯過的,C++編譯器就不一定能編譯過。
main()
{
printf("Hello,world! ");
}
這個代碼在C里能編譯通過,但是C++里會提示錯誤信息:
[Error]'printf'wasnotdeclaredinthisscope
還有很多其他例子。。。
所以,千萬不要用C++的編譯器編譯C代碼。(可能導致意外)
G. C語言編譯器可以用C語言編寫嗎
當然可以
H. 如何編譯C文件
編譯C文件用GCC。
編譯C文件常用方法:
單個文件:
g++
file.cpp
這是最簡單形式,預設輸出為a.out,可以用-o命令指定輸出文件,比如g++
file.cpp
f.out
多個文件:
g++
-c
1.cpp
-o
1.o
g++
-c
2.cpp
-o
2.o
g++
1.o
2.o
-o
prog.out
鏈接成可執行文件:
一般用g++
-o
file
file.cpp
多個文件是g++
-o
file
file1.cpp
file2.cpp
...
編譯C++不是用GCC而是G++.
如果用GCC能編譯但不能鏈接.
多個文件:
1.編譯多個文件,但不連接:
g++
file1.cpp
file2.cpp
會生成兩個文件:file1.o,
file2.o
2.連接:
g++
-o
outFileName
file1.o
file2.o
會生成一個可執行文件:outFileName。
如果想,一步就完成編譯和連接,那麼:
g++
-o
outFileName
file1.cpp
file2.cpp
-o選項控制是否連接。
I. 為什麼c語言的編譯器可以用c語言來寫
所謂C語言編譯器,就是把編程得到的文件,比如.c,.h的文件,進行讀取,並對內容進行分析,按照C語言的規則,將其轉換成系統可以執行的二進制文件。
其本質在於對文件的讀入,分析,及處理。這些操作,C語言都是可以實現的。
所以用C語言來做C語言的編譯器是完全可行的。
但是,歷史上的第一個C語言編譯器,肯定不是C語言寫的,因為在沒有編譯器時,無法把C語言轉換成可執行文件。
只要有了第一版其它語言的編譯器,就可以用C語言寫編譯器了。
事實上,目前大多數的C語言編譯器,都是用C語言寫的。
J. c語言寫的代碼能在c++中運行並編譯嗎
可以,至少在VC++下面是可以的,因為C++語言本身就是C語言的擴展嘛,它增加了C語言沒有有面向對象等的功能,並支持所有C語言的功能,所以C語言的代碼也可以在C++的程序中運行