Windows 嵌入python解釋器

 

這次主要記錄在windows下嵌入python解釋器的過程,程序沒有多少,主要是頭文件與庫文件的提取。

 

程序平臺:windows10 64 bit、 Qt 5.5.1  MSVC  2013 32 bit  、 python 3.7.4  32 bit

 

在ubuntu和windows下使用C/C++嵌入Python是有些不同的,ubuntu下可以使用對應命令來獲取python配置信息,windows下直接鏈接對應庫文件與頭文件即可。

通過對python解釋器的嵌入,我們可以自己做一個python編輯器,在內部可以定義自己的包;在運行時候python腳本的編寫就相當於一個隨時可變而又無需編譯的動態庫了。當然,有點還有很多,這種C/C++嵌入腳本語言的應用在遊戲上也十分常用。好了,下面簡單說下嵌入的流程。

 

  1. Python安裝包下載

我是直接在官網上下載的,Downloads-->>Python3.7.4。

 

 

  1. 提取庫文件與頭文件

安裝完的文件如下圖,其中include文件夾裏面是頭文件,python37.dll是我們所需要的動態鏈接庫,就像linux下的.so文件一樣。

 

  1. 在Qt下嵌入python

我使用的是Qt的控制檯程序,也就是C++嵌入python。

①pro文件中鏈接庫

Qt pro中文件如圖:

注意:雖然系統是64位的,但是Qt與python都是32位的

 

②在C++程序中調用python

在程序中調用python語句分以下幾個步驟

  1. 包含頭文件
  2. 初始化python解釋器
  3. 使用C接口運行python語句
  4. 調用完成後釋放資源。當然也可以再構造函數中初始化一次,在析構函數 中再釋放資源。

 

  1. 程序運行結果

 

最後再說些其他的:在嵌入python中有以下幾個問題要考慮:

①python腳本的靜態語法檢查與運行中錯誤的輸出

②python輸出信息重定向到宿主程序

③如何停止、暫停(鉤子函數)正在運行的python腳本

④當運行python阻塞接口時,停止會怎樣?

⑤python腳本中有耗時操作,需要運行到線程或進程中

 

 

願大家:

擁有夢想、實現價值

 

 

我是大賀,歡迎大家一起交流!

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章