c語言編譯器是什麼語言編寫的
C語言是一門面向過程的計算機編程語言,與C++、Java等面向對象編程語言有所不同。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。C語言描述問題比匯編語言迅速,工作量小、可讀性好,易於調試、修改和移植,而代碼質量與匯編語言相當。C語言一般只比匯編語言代碼生成的目標程序效率低10%~20%。因此,C語言可以編寫系統軟體。[2]
二十世紀八十年代,美國國家標准局為了避免各開發廠商用的C語言語法產生差異,給C語言制定了一套完整的美國國家標准語法,稱為ANSI C。作為C語言最初的標准。[3]2011年12月8日,國際標准化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標准,也是C語言的最新標准,該標准更好的支持了漢字函數名和漢字標識符,一定程度上實現了漢字編程。
C語言編譯器普遍存在於各種不同的操作系統中,例如Microsoft Windows, Mac OS X, Linux, Unix等。C語言的設計影響了眾多後來的編程語言,例如C++、Objective-C、Java、C#等。
例:
#include <stdio.h>
int main() {
printf("Hello,world!");
return 0;
}
編譯運行將輸出: Hello,world!
B. C語言是用什麼語言編的
在探討C語言的編寫語言時,通常會涉及編譯器、匯編語言以及機器代碼。首先,現代C語言和C++程序是由編譯器編寫的。編譯器將源代碼轉換為計算機可以理解並執行的二進制代碼。
早期的C編譯器確實使用了匯編語言編寫。匯編語言是一種低級語言,可以直接映射到機器代碼,即計算機可以執行的指令。使用匯編語言編寫編譯器,可以讓編譯器更加高效地將源代碼轉換為機器代碼。
但匯編語言本身是由機器指令組成的,這些指令是計算機硬體可以直接執行的。因此,最早的匯編語言是由硬體工程師使用特定的機器指令編寫。這些指令在不同的計算機架構下有所不同,因此,硬體工程師需要針對每種計算機架構編寫特定的匯編語言代碼。
簡單來說,C語言和C++程序是由編譯器編寫,編譯器使用匯編語言編寫,而匯編語言則由硬體工程師使用機器指令編寫。這種層級結構使得計算機程序可以在不同架構的計算機上運行。
C. 為什麼c語言的編譯器可以用c語言來寫
我是這樣想的,第一個編譯器肯定不是C語言,但是有了C編譯器就可以編譯C語言啦,編譯器也是程序對吧,二進制代碼,可以運行,然後又用C語言寫更好的編譯器用現在的編譯器編成可執行代碼。我是這樣想的呵呵,好比地球上有了第一個生命,然後這個生命又孕育出了新的生命。
D. 常見的C語言編譯器是什麼
目前最流行的C語言編譯器有以下幾種:
1、GNU Compiler Collection 或稱GCC
GCC(GNU Compiler Collection,GNU編譯器套件),是由 GNU 開發的編程語言編譯器。它是以GPL許可證所發行的自由軟體,也是 GNU計劃的關鍵部分。
GCC原本作為GNU操作系統的官方編譯器,現已被大多數類Unix操作系統(如Linux、BSD、Mac OS X等)採納為標準的編譯器,GCC同樣適用於微軟的Windows。GCC是自由軟體過程發展中的著名例子,由自由軟體基金會以GPL協議發布。
2、Microsoft C 或稱 MS C
Microsoft C 是c語言的一種IDE(集成開發環境),常見的還有Microsoft Visual C++,Borland C++,Watcom C++ ,Borland C++ ,Borland C++ Builder,Borland C++ 3.1 for DOS,Watcom C++ 11.0 for DOS,GNU DJGPP C++ ,Lccwin32 C Compiler 3.1,High C,Turbo C等等......
3、Borland Turbo C 或稱 Turbo C
Turbo C是美國Borland公司的產品,Borland公司是一家專門從事軟體開發、研製的大公司。該公司相繼推出了一套 Turbo系列軟體, 如Turbo BASIC, Turbo Pascal, Turbo Prolog, 這些軟體很受用戶歡迎。
(4)c語言編譯器是什麼語言編寫的擴展閱讀:
C編譯的整個過程很復雜,大致可以分為以下四個階段:
1、預處理階段在該階段主要完成對源代碼的預處理工作,主要包括對宏定義指令,頭文件包含指令,預定義指令和特殊字元的處理,如對宏定義的替換以及文件頭中所包含的文件中預定義代碼的替換等,總之這步主要完成一些替換工作,輸出是同源文件含義相同但內容不同的文件。
2、編譯、優化階段編譯就是將第一階段處理得到的文件通過詞法語法分析等轉換為匯編語言。優化包括對中間代碼的優化,如刪除公共表達式,循環優化等;和對目標代碼的生成進行的優化,如如何充分利用機器的寄存器存放有關變數的值,以減少內存訪問次數。
3、匯編階段將匯編語言翻譯成機器指令。
4、鏈接階段鏈接階段的主要工作是將有關的目標文件連接起來,即將在一個文件中引用的符號同該符號在另外一個文件中的定義連接起來,使得所有的目標文件成為一個能夠被操作系統裝入執行的統一整體。