你用 Python 或 C++ 寫程式碼。計算機只能理解二進位代碼。編譯器是一個將原始碼翻譯成機器碼的程式。它會讀取你的整個程序,檢查錯誤,並產生一個可執行檔。編譯完成後,程式無需編譯器即可執行。
編譯器的功能遠不止翻譯。它們還能進行優化。優秀的編譯器會移除冗餘指令、重新排序作業並有效率地分配暫存器。未經優化的翻譯和經過優化的翻譯在速度上可能相差十倍。
編譯階段
- 詞法分析:將代碼分解成詞法單元
- 解析:建構語法樹
- 語意分析:檢查類型和範圍
- 優化:提升效能
- 程式碼產生:產生機器碼
並非所有語言都使用編譯器。像 Python 這樣的解釋型語言逐行執行程式碼。即時編譯器則融合了這兩種方法,在執行時編譯關鍵程式碼路徑。每種策略都以啟動速度和執行速度為代價。
Comments
No comments yet. Be the first to share a thought.
Leave a comment