執行語句「printf("hello world");」時,編譯器怎麼工作?
01-05
在不同層次上描述,執行語句「printf("hello world");」時,編譯器、操作系統、CPU 和硬體是如何工作,最終將結果顯示到計算機屏幕上的。
題主不妨先認真上課
執行這條語句的時候,關編譯器什麼事兒?
有本日文版的廣播體操,
你看不懂,我(編譯器)幫你翻譯成你能看懂的中文(編譯)。然後你看著懂了之後,
自己跟著說明做操(執行)。
你做操的時候,就已經跟我無關了。從彙編的角度看,編譯器將"Hello, World!"字元串的偏移地址寫入可執行文件中,程序運行時將此地址值壓棧(push ax),然後使用 call 指令調用已連接在可執行文件中的_printf()運行庫函數來顯示該字元串。
程序員的自我修養,前面已經有人推薦了,我就看了這本書懂的。推薦
一句話
,取指執行。
程序員的自我修養,查看此書應該能找到答案。
推薦閱讀:
※如何備份電腦里的數據?
※為什麼windows系統有的時候明明物理內存還沒用滿就開始使用虛擬內存了?
※求大神看看是哪個進程在後台調用瀏覽器訪問網站?
※兩台電腦如何共用一個顯示器?
※SICP的中文版翻譯好不好?值不值得入手學習?