Python如何嵌入C C 進行開發?

2021-10-04 22:03:33 字數 1337 閱讀 1553

如果你想把python嵌入c/c++中是比較簡單的事情,你需要的是在vc中新增python的include檔案目錄和lib檔案目錄。下面我們來看下如何把python嵌入c/c++中。

vc6.0下,開啟 tools->options->directories->show directories for,將python安裝目錄下的inlude目錄新增到inlude files項中,將libs目錄新增到library files項中。

vc2005下,開啟tools->options->專案和解決方案->vc++目錄,然後做相同工作。

**如下:

在debug下執行出錯,「無法找到python31_d.lib檔案」,後查到原因是:在debug下生成必須要有python31_d.lib檔案,否則只能在release下生成

#include int main()  

py_initialize函式原型是:void py_initialize()

把python嵌入c/c++中時必須使用該函式,它初始化python直譯器,在使用其他的python/c api之前必須先呼叫該函式。可以使用py_isinitialized函式判斷是否初始化成功,成功返回true。

pyrun_******string函式原型是int pyrun_******string(const char *command),用來執行一段python**。

注意:是否需要維持語句間的縮排呢?

py_finalize函式原型是void py_finalize(),用於關閉python直譯器,釋放直譯器所占用的資源。

int pyrun_******file(file *fp, const char *filename);

其 中fp是開啟的檔案指標,filename是要執行的python指令碼檔名。但是由於該函式官方發布的是由visual studio 2003.net編譯的,如果使用其他版本的編譯器,file定義可能由於版本原因導致崩潰。同時,為簡便起見可以使用如下方式來代替該函式:

pyrun_******string("execfile(『file.py』)"); //使用execfile來執行python檔案

py_buildvalue()用於對數字和字串進行轉換處理,變成python中相應的資料型別(在c語言中,所有python型別都被宣告為pyobject型別),函式原型如下:

pyobject *py_buildvalue(const char *format, …..);

pystring_string()用於將pyobject*型別的變數轉換成c語言可以處理的char*型,具體原型如下:

char* pystring_string(pyobject *p);

C C 中如何成功嵌入python

最簡單的 1 include stdafx.h 2 include python.h 3 45int tmain int argc,tchar argv 6以main.c 呼叫 hellworld.py 函式為例進行說明。helloworld.py 的內容很簡單只是定義了hello函式然後輸出 he...

C C 中如何嵌入彙編

c c 中嵌入彙編的方法是使用 asm 在花括號中就可以寫彙編 了。然後,之前可見的變數在彙編中均可見。以下是乙個簡單的例子,將hello world中的每個字元加上0x20後再輸出 include includeint main d count 0 printf s n d return 0 執行...

如何進行嵌入式開發

呵呵,我做了 嵌入式十年了,應該不算菜鳥吧。我來回答你的問題。1 嵌入式系統有那些?常用企業常用的有 linux wince vxworks,還有一些手機的系統也算是 嵌入式的系統 android google基於 linux symbian windows mobile,還有一些uc os rtl...