Hello World 深入理解 1 序言

2021-10-11 19:32:51 字數 1302 閱讀 2410

程式為什麼要被編譯器編譯後才能執行?

編譯器在把c語言程式轉換成可以執行的機器碼的過程中做了什麼?怎麼做的?

最後編譯出來的可執行檔案裡面是什麼?除了機器碼還有什麼?他們怎麼存放的?怎麼組織的?

#include 是什麼意思?把stdio.h包含進來意味著什麼?c語言庫又是什麼?它怎麼實現的?

不同的編譯器(microsoft vc、gcc)和不同的硬體平台(x86、sparc、mips、arm),以及不同的作業系統(windows、linux、unix、solaris),最終編譯出來的結果一樣嗎?為什麼?

hello world程式是怎麼執行起來的?作業系統是怎麼裝載它的?他從**開始執行?到哪兒結束?main函式之前發生了什麼?main函式結束之後又發生了什麼?

如果沒有作業系統,hello world可以執行嗎?如果要在一台沒有作業系統的機器上執行hello world需要什麼?應該怎麼實現?

printf是怎麼實現的?他為什麼可以有不定數量的引數?為什麼它能夠在終端上輸出字串?

hello world程式在執行時,它在記憶體中是什麼樣子的?

《鏈結裝載與庫學習1———機器語言與程式語言》

1.程式為什麼要被編譯器編譯後才能執行?

《鏈結裝載與庫學習2———編譯過程與編譯原理》

2.編譯器在把c語言程式轉換成可以執行的機器碼的過程中做了什麼?怎麼做的?

《鏈結裝載與庫學習3———目標檔案分析》

3.最後編譯出來的可執行檔案裡面是什麼?除了機器碼還有什麼?他們怎麼存放的?怎麼組織的?

《鏈結裝載與庫學習4———庫檔案分析》

4.#include 是什麼意思?把stdio.h包含進來意味著什麼?c語言庫又是什麼?它怎麼實現的?

5.不同的編譯器(microsoft vc、gcc)和不同的硬體平台(x86、sparc、mips、arm),以及不同的作業系統(windows、linux、unix、solaris),最終編譯出來的結果一樣嗎?為什麼?

《鏈結裝載與庫學習5———程式裝載》

6.hello world程式是怎麼執行起來的?作業系統是怎麼裝載它的?他從**開始執行?到哪兒結束?main函式之前發生了什麼?main函式結束之後又發生了什麼?

7.如果沒有作業系統,hello world可以執行嗎?如果要在一台沒有作業系統的機器上執行hello world需要什麼?應該怎麼實現?

《鏈結裝載與庫學習6———程式執行》

8.printf是怎麼實現的?他為什麼可以有不定數量的引數?為什麼它能夠在終端上輸出字串?

9.hello world程式在執行時,它在記憶體中是什麼樣子的?

《程式設計師的自我修養——鏈結裝載與庫》

第二章 深入理解helloworld

1 static int init initialization function void 2 5module init initialization function 這裡要特別提出的就是,呼叫初始化函式當中的錯誤處理。由於初始化函式會呼叫很多的註冊設施函式,每乙個函式都有可能失敗,所以必須檢查...

dubbo深入理解(1)

1.dubbo是什麼?dubbo是乙個服務框架,為了便於理解,舉乙個例子 有一天,多啦a夢要去4s店買車,售車員會給我們提供一些車的型別 包括進口還是國產,賓士還是寶馬,50萬還是100萬 然後加入我們要買的是 進口寶馬100萬,然後我們把這個告訴給售車員,售車員在他們的售車系統上按照我們的條件進行...

深入理解模板1

1,模版引數可以有三種型別 1 型別 2 編譯時常量 3 其他模版.2,型別 include include using namespace std template class stack int main 3,編譯時常量 include include using namespace std t...