編譯過程

hank_leo發表於2018-06-23

編譯系統的執行過程

原始碼 –> 機器程式碼

  • 直譯器執行程式的方法
    1.直接執行高階程式語言
    2.轉換高階程式語言碼到一些有效率的位元組碼(Bytecode),並執行這些位元組碼

  • Python解釋語言特點

“拆解”程式碼:

  1. 首先當使用者鍵入程式碼交給Python處理的時候會先進行此法分析,例如使用者鍵入關鍵字或者當輸入關鍵字有誤時,都會被此法分析所觸發,不正確的程式碼將不會被執行

  2. 下一步Python會進行語法分析,例如當”for i in test:”中,test後面的冒號如果寫成其他符號,程式碼依舊不會被執行

  3. 在執行Python前,Python會生成.pyc檔案,這個檔案就是位元組碼1

  4. 如果不小心修改了位元組碼,Python下次重新編譯該程式時會和其上次生成的位元組碼檔案進行比較,如果不匹配則將會被修改過的位元組碼檔案進行覆蓋,以確保每次編譯後位元組碼的準確性。


  1. 位元組碼在Python虛擬機器程式裡對應的是PyCodeObject物件。.pyc檔案是位元組碼在磁碟上的表現形式。簡單來說就是在編譯程式碼的過程中,首先會將程式碼中的函式、類等物件分類處理,然後生成位元組碼檔案。有了位元組碼檔案,CPU可以直接識別位元組碼檔案進行處理,接著Python就可執行了。

知識在於點滴積累


相關文章