計算機編譯和運行程序時發生了什麼

1、編譯流程

image.png
預處理:根據以字符#開頭的命令,修改原始的C程序。例如:第一行中的#include xxx命令告訴預處理器要讀取頭文件的內容,並把它直接插入程序文本中。最終獲得.i文件
編譯:將文本文件.i翻譯成文本文件.s,它包含彙編語言程序
彙編:將.s文件翻譯成機器語言指令,並打包成可重定位的目標程序,結果生成到.o文件中
連接:連接合並多個.o文件,最終獲得可執行程序spa

2、運行

unix系統運行流程:翻譯

2.1 從磁盤加載可執行文件到主存

利用直接存儲器存取技術,數據能夠不經過處理器直接從磁盤加載到主存(DRAM)中
image.pngunix

2.2 執行並輸出

目標文件中的代碼和數據被加載到主存中以後,處理器就開始執行程序中main程序中的機器語言指令,再從寄存器文件中複製到顯示設備,最終顯示在屏幕上
image.pngit

相關文章
相關標籤/搜索