編譯過程
編譯系統的執行過程
原始碼 –> 機器程式碼
- 直譯器執行程式的方法
1.直接執行高階程式語言
2.轉換高階程式語言碼到一些有效率的位元組碼(Bytecode),並執行這些位元組碼
- Python解釋語言特點
“拆解”程式碼:
-
首先當使用者鍵入程式碼交給Python處理的時候會先進行此法分析,例如使用者鍵入關鍵字或者當輸入關鍵字有誤時,都會被此法分析所觸發,不正確的程式碼將不會被執行
-
下一步Python會進行語法分析,例如當”for i in test:”中,test後面的冒號如果寫成其他符號,程式碼依舊不會被執行
-
在執行Python前,Python會生成.pyc檔案,這個檔案就是位元組碼1
-
如果不小心修改了位元組碼,Python下次重新編譯該程式時會和其上次生成的位元組碼檔案進行比較,如果不匹配則將會被修改過的位元組碼檔案進行覆蓋,以確保每次編譯後位元組碼的準確性。
-
位元組碼在Python虛擬機器程式裡對應的是PyCodeObject物件。.pyc檔案是位元組碼在磁碟上的表現形式。簡單來說就是在編譯程式碼的過程中,首先會將程式碼中的函式、類等物件分類處理,然後生成位元組碼檔案。有了位元組碼檔案,CPU可以直接識別位元組碼檔案進行處理,接著Python就可執行了。↩
知識在於點滴積累
相關文章
- 編譯連結過程編譯
- C++ 編譯過程C++編譯
- 編譯過程簡介編譯
- ios底層 編譯過程iOS編譯
- 痛苦的過程,編譯glomap編譯
- GCC編譯過程(預處理->編譯->彙編->連結)GC編譯
- JavaScript的預編譯過程分析JavaScript編譯
- GCC編譯和連結過程GC編譯
- 預編譯過程(AO+GO)編譯Go
- 詳解Linux 程式編譯過程Linux編譯
- go語言編譯過程概述Go編譯
- [轉]:xmake編譯配置過程詳解編譯
- 3- C語言編譯過程C語言編譯
- Ubuntu20.04linux核心(5.4.0版本)編譯準備與實現過程-編譯過程(2)UbuntuLinux編譯
- vue原理:diff、模板編譯、渲染過程等Vue編譯
- 編譯原理入門篇|一篇文章理解編譯全過程編譯原理
- 深入wepy原始碼:wpy檔案編譯過程原始碼編譯
- Linux 程式編譯過程的來龍去脈Linux編譯
- Oracle 編譯儲存過程卡死解決方法Oracle編譯儲存過程
- Hive SQL的底層編譯過程詳解HiveSQL編譯
- 方舟編譯器開源,華為自家開源平臺面世!(附編譯過程)編譯
- C語言的編譯連結執行過程C語言編譯
- MDK編譯過程及檔案型別全解編譯型別
- VS2017平臺編譯 zmq-4.2.5 過程編譯MQ
- C語言編譯和連結過程簡介C語言編譯
- cesium原始碼編譯除錯及呼叫全過程原始碼編譯除錯
- Oracle儲存過程編譯卡死的解決方法Oracle儲存過程編譯
- python 在實際生產過程中需要編譯嘛?Python編譯
- Linux_C++_編譯過程以及二進位制分析LinuxC++編譯
- 阿里開源COLA 4.0原始碼編譯和部署過程阿里原始碼編譯
- C語言程式碼區錯誤以及編譯過程C語言編譯
- Android Apk 檔案反編譯和重新打包的過程分析AndroidAPK編譯
- 全棧交叉編譯X86完成過程經驗分享全棧編譯
- 2.深入一點理解C源程式的編譯過程編譯
- 一個有趣的過程movq%rcx,%gs:0x80000000不能通過編譯編譯
- centos下caffe用GPU編譯搭建過程以及錯誤總結CentOSGPU編譯
- 深入淺出JVM(六)之前端編譯過程與語法糖原理JVM前端編譯
- Latex — 寫作編譯過程中遇到問題記錄與總結編譯