編譯python cpython 的原始碼及其用途

2022-10-09 12:54:06 字數 1089 閱讀 1663

3.x及最新版本的原始碼:

python2.7分支的原始碼:/tree/v2.7.18

python的原始碼是由c語言編寫的,所以叫cpython

我是在windows上編譯python2.7的原始碼,可能還需要安裝windows sdk,我的系統上已安裝。

使用vs2012及以上版本開啟pcbuild目錄下的pcbuild.sln,如果提示公升級解決方案,請不要公升級

選中python這個project,設定python為啟動專案

選中解決方案(pcbuild) - 右鍵 - 配置管理器,在生成這列只勾選python和pythoncore

選中python 和pythoncore - 右鍵 - 平台工具集(platform toolset)設定為2012,因為我們沒有安裝它預設的2008,否則會生成失敗報未安裝vs2008的工具集

點選生成,在pcbuild目錄下會生成python.exe,如果是debug則會生成python_d.exe

當把python作為遊戲的指令碼語言,為保護遊戲不被反編譯我們需要對python指令碼進行加密,及需要對cpython原始碼做少量的修改讓它更適合遊戲領域。

我們把編譯出來的python.exe單獨拷貝出來,就可以用它來執行python指令碼了,如下所示

編譯 交叉編譯

交叉編譯含義 是指在乙個平台上生成另乙個平台上的可執行 同乙個體系結構可以執行不同的作業系統,同樣乙個作業系統也可以在不同的體系結構上執行 例 常說的x86 linux平台 指inter x86體系結構及linux for x86作業系統 x86 winnt平台 指inter x86體系結構及win...

核心編譯 模組編譯

目前是嵌入式 linux 的初學者感覺有所體會 1.從demo 學起 tiny 6410 上的開發,我的任務不斷是新增小模組。交叉編譯器,以及其它一系列 tool chains 可直使用產商提供的工具。避免過多細節的好處在於,你可以從整體處著手你從書本學到的理論知識。2.kernel 編譯其它很簡單...

Golang 編譯 條件編譯

條件編譯 標籤編譯 build tag build build linux and 386 or darwin and not cgo 以 開始,例如 build 支援 goos 與 goarch 並可以具有多個值,用 分割,例如 build linux,darwin,freebsd 支援 不等條件...