python擴充套件和嵌入

2021-06-20 16:46:29 字數 641 閱讀 2812

由於python說解釋性的指令碼語言,執行速度較慢。在某些需要提高指令碼執行效率的情況下,可以考慮擴充套件python,用c/c++來完成對效率要求高的部分。另外,由於python功能強大,完全可以嵌入到c/c++中,以簡化程式,減少**。

python提供了支援c/c++介面,可以方便的使用c/c++來擴充套件python。用c/c++編寫的python擴充套件主要用於完成底層的系統操作,以及提高執行速度等。

python提供了介面api,通過使用api函式就可以編寫python擴充套件。在windows下可以使用vc來編譯python擴充套件。在unix和linux則可以使用gcc來編譯

swing可以將c/c++編寫的程式以擴充套件的形式鏈結到各種高階程式語言中。swing支援的語言非常廣泛,幾乎支援目前所有流行的語言。使用swing可以輕易的使用c/c++為python編寫擴充套件

boost是乙個可移植的c++標準庫,相當於stl的延續和擴充。boost庫也為c++編寫python擴充套件提供了支援。如果使用c++為python編寫擴充套件,使用boost.python將使程式變得簡單。

使用pyrex將從pyrex**生成乙個c原始檔,編譯該c原始檔即可生成python的擴充套件模組。從而使編寫的python的c擴充套件更加簡單。pyrex在python中新增了型別宣告,使得python與c資料型別相互轉換變得容易

擴充套件和嵌入python直譯器 摘要

python是一種解釋型,物件導向的程式語言。本文描述如何使用c或c 編寫新模組來擴充套件python直譯器。擴充套件模組能夠定義新的函式也可以定義新的物件型別及其方法。本文也描述了如何將python直譯器作為一種擴充套件語言嵌入到另乙個應用程式中。最後,本文演示了如何編譯和連線擴充套件模組,使擴充...

《擴充套件和嵌入python直譯器》1 9 構造任意值

1.9 構造任意值 py buildvalue 函式和pyarg parsetuple 相同,宣告如下 pyobject py buildvalue char format,py buildvalue 函式和pyarg parsetuple 函式類似,識別一系列格式化單元,但引數 作為輸入引數,而不...

《擴充套件和嵌入python直譯器》1 3 回到例子中

1.3 回到例子 回到我們的例子函式中,現在,你應該能夠理解下面這些語句 if pyarg parsetuple args,s command return null 根據是否由 pyarg parsetuple 函式設定了異常,如果在引數列表中檢測到錯誤 異常被設定 則函式返回 null 函式返回...