日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Python腳本與C++程序互相調(diào)用的實際操作

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

創(chuàng)新互聯(lián)是一家專業(yè)提供秦皇島企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、網(wǎng)站制作、HTML5建站、小程序制作等業(yè)務(wù)。10年已為秦皇島眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。

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

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

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

主動加載模塊的c++代碼如下:

 
 
 
  1. Py_InitializeEx(0); 

 初始化解釋器

 
 
 
  1. Py_InitModule("ModuleName", ModuleMethods); 

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

 
 
 
  1. PyMethodDef [] 

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

【編輯推薦】

  1. 用Python連接PostgreSQL數(shù)據(jù)庫所需版本的介紹
  2. Python連接數(shù)據(jù)庫的實際操作方案的介紹
  3. 用Python 2.5.1幫助文檔設(shè)置的實際操作方案介紹
  4. 對Python技巧——代碼效率的實際應(yīng)用詳解
  5. 在python正則表達(dá)式教程中正確使用正則表達(dá)式方案

當(dāng)前題目:Python腳本與C++程序互相調(diào)用的實際操作
鏈接分享:http://m.5511xx.com/article/cddjeio.html