最近因為專案的原因,經常使用python來編寫**,深深的被python易學易用簡單快捷的方法所折服了,最近有些空閒,又研究一下原來做過的幾個程式,發現如果嵌入python的話**的編寫速度會高很多,之前只是看過內嵌lua的,對於python不是身為了解,所以此次那想利用c++內嵌python指令碼來實現功能,因為python處理字串能力很強,言歸正傳。
在網上看到一些經常說是如何配置啊什麼的,還算詳細,但是我遇到了乙個問題就是總是提示我缺少 python26.dll(我用的python2.6的版本),經過幾次嘗試找到了問題所在先貼出步驟,以被以後使用。
首先安裝python26的安裝包指定到乙個目錄
然後那開啟vs工具,我用的是vs2008(用習慣了),在tools->option->vc++ direcotries中分別新增library files和include files中新增咱們已經安裝好的python路徑 eg:lib :"d:/python26/libs" include :"d:/python26/include"
新建vc++專案win32,mfc均可,我用的是win32 console,新建乙個專案起名字為python_cplusplus,上一步若果沒有配置python相關路徑在這也可以配置 project->"your project "property page->congirue properties
lib : linker->input->addtional dependace->新增lib目錄
include : c/c++->general->addtional include file ->新增include目錄
之後編寫**
python部分就是簡單的print hello world程式
c++部分如下
接下來是關鍵的部分,使用debug除錯會出現缺少python26_d.dll此時需要修改python26安裝目錄下include檔案pyconfig.h將python26_d.lib改為python26.lib或者自己編譯生成python26_d.lib,或者使用release的編譯方式。
如果有人出現缺少python26.dll無法啟動,只需要自己編譯python原始碼,將生成的python26.dll拷入到windows->system中即可
C 呼叫Python的API總結
從pmodule模組裡load需要呼叫的函式並執行 c 向python傳遞引數 解析python的返回值pyobject results include py initialize py finalize 所有的python程式都要在這之間執行 又分為以下兩種方式 pyobject pname,pm...
C 呼叫C 的dll總結
舉例 netcontrol.cs using system using system.collections.generic using system.text using system.runtime.interopservices 這句必不可少 namespace netcontrol 1.dl...
Python 模組呼叫總結
1 同一檔案目錄下匯入 在檔案b.py中對檔案a.py中的函式func 進行呼叫 或者注 import 與from import區別就是,如果使用後者,就不需要加上模組名稱的字首了 2 不同檔案目錄下匯入 如果檔案不在同乙個目錄下,python查詢不到,必須進行查詢路徑的設定,將模組所在的資料夾加入...