C语言和C实现
文章目錄
- 1 C語言和C實現(xiàn)
- 1.1 C語言
- 1.2 C實現(xiàn)
1 C語言和C實現(xiàn)
1.1 C語言
C語言:在本質(zhì)上就是一套規(guī)則,它告訴我們程序應(yīng)該怎么寫,這么寫可以實現(xiàn)什么功能。 而這些規(guī)則我們到哪里去查看呢,C11標(biāo)準(zhǔn)文檔是最新的、最權(quán)威的。
但現(xiàn)在的問題是,我們按照這套規(guī)則寫的程序,計算機(jī)是無法識別的
int a = 20; --> 計算機(jī):這什么玩意
所以,我們需要對按照這套規(guī)則所寫的程序進(jìn)行轉(zhuǎn)換,將其轉(zhuǎn)換為計算機(jī)可以識別的機(jī)器指令。
我們可以人工的、手動的對其進(jìn)行轉(zhuǎn)換,但這樣非常麻煩。并且,如果手動的進(jìn)行轉(zhuǎn)換的話,那我們還不如直接用機(jī)器指令去寫呢,何必多此一舉呢。
所以,在實際中,我們是通過 轉(zhuǎn)換程序 來對源文件進(jìn)行轉(zhuǎn)換的:
int a = 20; (雖然C語言定義了它的功能,但是這毫無意義,因為處理器不認(rèn)識它)
–> 通過 轉(zhuǎn)換程序 進(jìn)行轉(zhuǎn)換 --> 得到可以實現(xiàn)相同功能的機(jī)器指令(這才是有意義的) --> 交給處理器去執(zhí)行
1.2 C實現(xiàn)
C語言只是一套編寫程序的規(guī)則,它對于處理器來說毫無意義。所以,我們編寫C程序是離不開這個轉(zhuǎn)換軟件的,而這個轉(zhuǎn)換軟件,我們稱之為 C實現(xiàn)。
C實現(xiàn)并不是指某一個軟件,而是一套軟件。因為,整個轉(zhuǎn)換過程需要多個階段來完成,每個階段都需要相應(yīng)的程序來進(jìn)行處理。
然后,編譯是整個轉(zhuǎn)換過程中的其中一個步驟、需要通過編譯器這個軟件來完成。而我們經(jīng)常使用編譯器這個詞來代替C實現(xiàn),大家經(jīng)常把它們混淆在一起。所以,當(dāng)我們看到編譯器這個詞的時候,要根據(jù)上下文來判斷,它到底指的是什么。
C語言一直在更新,現(xiàn)在最新的是C11標(biāo)準(zhǔn)。但是,并非所有的C實現(xiàn)都跟得上標(biāo)準(zhǔn)的步伐。也就是說,不同的C實現(xiàn)對標(biāo)準(zhǔn)的支持程度是不同的。
總結(jié)
- 上一篇: 转换环境与执行环境、宿主环境与独立环境、
- 下一篇: 优盘电脑不能识别了怎么办 如何解决优盘电