自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python腳本與C++程序互相調(diào)用的實(shí)際操作

開(kāi)發(fā) 后端
本文主要介紹的在ShiiteC++ 應(yīng)用程序中如何嵌入Python腳本和C++程序互相調(diào)用的實(shí)際操作,以下就是文章內(nèi)容的詳細(xì)介紹。

本文所要闡述的是一種不用編譯c++程序?yàn)閯?dòng)態(tài)庫(kù)的相關(guān)方式,使用此種方式把python腳本對(duì)c++進(jìn)行訪問(wèn)與編寫(xiě)的相關(guān)模塊,的相關(guān)內(nèi)容的介紹,以下就是相關(guān)內(nèi)容的具體介紹,望你會(huì)有所收獲。

手頭項(xiàng)目有個(gè)應(yīng)用,需要在c++編寫(xiě)的程序中嵌入python腳本,用python腳本做一些計(jì)算,并把值傳回給c++宿主程序。python腳本計(jì)算必須由c++提供計(jì)算的值,python訪問(wèn)宿主程序不是很方便,網(wǎng)上提供的方式都是用python寫(xiě)socket或者共享內(nèi)存的方式與c++程序通信,在這里顯然不是很方便。

有個(gè)達(dá)人想了個(gè)好辦法,那就是把c++的一部分訪問(wèn)內(nèi)部數(shù)據(jù)的代碼編程一個(gè)python內(nèi)建(build-in)模塊,讓python腳本引入這個(gè)模塊和c++通信??墒菃?wèn)題是,python嵌入c++模塊的方式只提供了編寫(xiě)動(dòng)態(tài)庫(kù)加載的例子和教程,動(dòng)態(tài)庫(kù)是不能直接訪問(wèn)c++程序的變量的。

解決這個(gè)問(wèn)題的辦法是,直接把c++編寫(xiě)的python模塊代碼作為整個(gè)程序項(xiàng)目的一部分,在主程序中主動(dòng)調(diào)用python的解釋器加載該模塊,那么就跳過(guò)了動(dòng)態(tài)庫(kù)的鏈接。而這部分代碼由于就是和程序的一部分,可以直接訪問(wèn)程序的變量了。

主動(dòng)加載模塊的c++代碼如下:

  1. Py_InitializeEx(0); 

 初始化解釋器

  1. Py_InitModule("ModuleName", ModuleMethods); 

 ModuleMethonds 就是c++編寫(xiě)python模塊中定義接口的數(shù)組,類型為

  1. PyMethodDef [] 

具體模塊編寫(xiě)方法參考python手冊(cè)。注意把模塊分為cpp和.h文件,讓主程序引用頭文件,使主程序能夠訪問(wèn)ModuleMethods數(shù)組。 以上就是對(duì)C++ 應(yīng)用程序中 嵌入Python腳本與C++程序的互相調(diào)用DE 相關(guān)的內(nèi)容的介紹,望你會(huì)有所收獲。

【編輯推薦】

  1. 用Python連接PostgreSQL數(shù)據(jù)庫(kù)所需版本的介紹
  2. Python連接數(shù)據(jù)庫(kù)的實(shí)際操作方案的介紹
  3. 用Python 2.5.1幫助文檔設(shè)置的實(shí)際操作方案介紹
  4. 對(duì)Python技巧——代碼效率的實(shí)際應(yīng)用詳解
  5. 在python正則表達(dá)式教程中正確使用正則表達(dá)式方案
責(zé)任編輯:佚名 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-03-24 13:04:12

Python嵌入

2010-03-26 11:00:55

Python嵌入CC++

2010-03-24 13:17:35

Python嵌入

2010-02-03 10:23:47

C++操作符重載

2010-02-03 16:56:20

C++自定義類

2010-04-29 17:05:58

Oracle 腳本

2010-03-17 15:01:24

Python復(fù)制文件

2010-04-21 17:09:17

Oracle安裝

2010-05-27 17:35:36

MYSQL DELET

2010-05-18 09:31:05

MySQL修改表

2010-03-12 15:29:19

Pythonexe

2010-03-10 19:00:20

Pythonnext函

2010-03-09 18:55:27

Python djan

2010-05-13 17:00:32

MySQL啟動(dòng)方法

2010-05-14 16:34:31

Mysql安裝

2010-05-28 18:16:43

MySQL 操作日志

2010-07-23 14:26:37

SQL Server存

2010-03-23 17:24:08

Python遍歷目錄樹(shù)

2010-05-10 10:19:28

Oracle實(shí)戰(zhàn)RMA

2010-03-16 12:39:09

python for
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)