Python源代碼構架的三大主要結構
在***的層次上,Python的整體架構可以分為三個主要的部分,。源代碼。是Python源代碼提供的大量的模塊,庫以及用戶自定義的模塊。比如在執行import os時,這個os就是Python內建的模塊,當然用戶還可以通過自定義模塊來擴展Python系統。在本系列文章中,我們不會對這一部分進行過多的考察。
Python源代碼
1 Python總體架構
在***的層次上,Python的整體架構可以分為四個主要的部分,。源代碼。是Python源代碼提供的大量的模塊,庫以及用戶自定義的模塊。比如在執行import os時,這個os就是Python內建的模塊,當然用戶還可以通過自定義模塊來擴展Python系統。在本系列文章中,我們不會對這一部分進行過多的考察。
在圖的右邊,是Python的運行時環境,包括對象/類型系統(Object/Type structures),內存分配器(Memory Allocator)和運行時狀態(Current State of Python)。運行時狀態維護了解釋器在執行字節碼時在不同的狀態之間切換的動作,我們可以將它視為一個巨大而復雜的有窮狀態機。內存分配器則全權負責Python中創建對象時對內存的申請工作,實際上它就是Python運行時與C中malloc的一層接口。而對象/類型系統則包含了Python中存在的各種內建對象,比如整數,list和dict等等
2 Python源代碼的組織中國有句老話,巧婦難為無米之炊。要分析Python源碼,首先當然要獲得Python源碼。Include :該目錄下包含了Python提供的所有頭文件,如果用戶需要自己用C或C++來編寫自定義模塊擴展Python,那么就需要用到這里提供的頭文件。
Lib :該目錄包含了Python自帶的所有標準庫,Lib中的庫都是用Python語言編寫的。 #t#
3.編譯Python
首先,我們需要激活VS2003的配置對話框
在配置對話框中,首先要做的就是更改Startup Project,Python2.4.1中默認設置的是_bsddb,我們需要將其改為Python源代碼。
由于我們剖析的只是Python的核心部分,不會涉及到工程中的一些標準庫和其他的模塊,所以我們需要將它們從編譯的列表中刪除。點擊配置對話框左邊列表框中的“Configuration Properties”后,會出現當前配置為需要編譯的子工程,取消多余的子工程的選中狀態,只保留pythoncore和python源代碼。的選中狀態。
好了,現在再編譯,一切都會順利完成了。