相對機器語言和彙編語言,C語言已經算是高級語言了。
相信你們已經知道什麼是機器語言和彙編語言,如果有不知道的朋友可以關注參考編者的另外一篇文章:C語言基礎:二進位和計算機語言雜談(編程新手福利),當然也可以自行百度。
早期的機器語言沒有編譯器的概念,因為機器語言不過是很多的0和1,CPU(處理器)能夠直接識別機器語言,C語言本身是為了提高開發效率而開發出的新語言,語義上幾乎和現實世界表達意思一致,但是這樣高級的語義可就難倒了計算機,它不認識像if-else、while等單詞,那麼計算機怎麼識別C程序的呢,這就引出編譯器的概念了。
編譯器用於將高級語言向低級語言轉化。
C程序寫出來之後要經過編譯,簡單來說就是利用編譯器將C語言.c後綴的源文件編譯成.obj後綴的目標文件,然後在經過連結過程,生成可執行的文件,windows下就會生成一個exe的可執行文件。這個可執行文件就是一個二進位文件。它就能被CPU識別、運行了。
萬變不離其宗,其實所有的高級語言都有類似編譯器作用的東西。比如java的jre、C#的.net framework等都是一樣的作用。因為計算機底層就只能識別0和1,再怎麼高級的語言也無法改變。
好了,就說到這裡,算是對這篇文章C語言初學者該如何選擇編譯器?哪個編譯器好用?標題的糾正吧嘿嘿。