python的c語言版本的源碼cpython可以從github中下載到(見參考1)。
那如何運行調試這個源碼呢?
筆者在 Windows 10 上用Visual Studio Community2019進行調試,步驟如下:
下載cpython源碼,筆者從參考2中下載了python3.10.4的源碼
雙擊(用Visual Studio)打開源碼目錄PCbuild/pcbuild.sln文件
VS中設置為Debug,Win32模式
在Solution,右鍵,選擇properties,選擇Configuration Properties,選擇Configuration,如何選擇Build只選python和pythoncore,具體如下圖所示
然後直接運行debug即可進行調試。運行後得到的界面和直接運行python命令得到的界面完全一樣,如下圖所示:
我們知道,在python shell中,輸入一條語句後,會執行得到結果,然後再輸入另一條語句也執行得到結果,像是一個死循環一樣可以一直輸入、執行。那這個過程在源碼中是怎麼樣的呢?
int _PyRun_InteractiveLoopObject()
{
do {
//在這個循環中,運行交互式語句
ret = PyRun_InteractiveOneObjectEx(fp, filename, flags);
} while (ret != E_EOF);
return err;
}
在Windows 10 上用Visual Studio Community2019,可以調試python源碼,python源碼也自帶了適合VS開打的.sln文件,很方便調試。