一、計算機要完成兩數相加,可以大致分為如下幾個步驟:
1.從記憶體位置2000上把一個數字拷貝到暫存器1;
2.從記憶體位置2004上把另一個數字拷貝到暫存器2;
3.把暫存器2里面的內容與暫存器1中的內容相加,把結果儲存在暫存器1中,
4.把暫存器1中的內容拷貝到記憶體位置2008,
二、高級語言以更抽象的方式描述行為,不受限于特定CPU或者指令集,
三、編譯器都聲稱提供完整的K&R實作,與大多數語言相比,C語言比其他語言更加依賴庫,因此需要一個標準庫,實際上由于缺乏官方的標準,UNIX實作提供的庫已成為了標準庫,
四、美國國家標準協會(ANSI)
C89:ANSI與1989年批準該標準,C90:ISO于1990年批準該標準,
C99\C11
五、C編譯器把源代碼轉換為中間代碼,聯結器把中間代碼和其他代碼合并,生成可執行檔案,聯結器還將你撰寫的程式和預編譯的庫代碼合并,
六、中間檔案有多種形式,我們在這里描述的最普遍的一種形式,即把源代碼轉換為機器語言代碼,并把結果放在目標代碼檔案(或簡稱目標檔案)中(這里假設源代碼只有一個檔案),雖然目標檔案中包含機器語言代碼,但是并不能直接運行該檔案,因為該檔案中存盤的是編譯器翻譯的源代碼,這不是一個完整的程式,
六、目標代碼檔案中缺失啟動代碼(startup code),啟動代碼充當著程式與作業系統之間的介面,例如:可以在MS Windows或Linux 系統下運行IBM PC兼容機,這兩種情況使用的硬體是相同的,所以目標代碼相同,但是Windows和Linux所需的啟動代碼是不同的,因為這些系統處理程式的方式不同,
七、目標代碼中還缺少庫函式,幾乎所有的C程式都需要使用C標準庫中的函式?,
八、聯結器的作用:把撰寫的目標代碼、系統的標準啟動代碼和庫函式這三部分?合并成一個問及那,即:?可執行檔案,對于 庫代碼,聯結器只會把程式中要用的庫函式?代碼提取出來,?
九、原始碼:
2.CSDN:https://blog.csdn.net/weixin_44630050
3.博客園:https://www.cnblogs.com/ruigege0000/
4.歡迎關注微信公眾號:傅里葉變換,個人賬號,僅用于技術交流,后臺回復“禮包”獲取Java大資料學習視頻禮包
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/27331.html
標籤:C
上一篇:manacher-線性查找演算法-(最長回文子串問題)
下一篇:手把手教系列之梳狀濾波器設計實作
