最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解C++調(diào)用Python腳本中的函數(shù)的實例代碼

 更新時間:2018年11月16日 11:11:22   作者:Sanrice3  
這篇文章主要介紹了C++調(diào)用Python腳本中的函數(shù) ,需要的朋友可以參考下

1.環(huán)境配置

安裝完python后,把python的include和lib拷貝到自己的工程目錄下

然后在工程中包括進去

2.例子

先寫一個python的測試腳本,如下

這個腳本里面定義了兩個函數(shù)Hello()和_add()。我的腳本的文件名叫mytest.py

C++代碼:

#include "stdafx.h" 
#include <stdlib.h>
#include <iostream> 
#include "include\Python.h"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
  //初始化Python環(huán)境 
  Py_Initialize();
  PyRun_SimpleString("import sys");
  //添加Insert模塊路徑 
  //PyRun_SimpleString(chdir_cmd.c_str());
  PyRun_SimpleString("sys.path.append('./')");
  //導入模塊 
  PyObject* pModule = PyImport_ImportModule("mytest");
  if (!pModule)
  {
    cout << "Python get module failed." << endl;
    return 0;
  }
  cout << "Python get module succeed." << endl;
  PyObject * pFunc = NULL;
  pFunc = PyObject_GetAttrString(pModule, "Hello");
  PyEval_CallObject(pFunc, NULL);
  //獲取Insert模塊內(nèi)_add函數(shù) 
  PyObject* pv = PyObject_GetAttrString(pModule, "_add");
  if (!pv || !PyCallable_Check(pv))
  {
    cout << "Can't find funftion (_add)" << endl;
    return 0;
  }
  cout << "Get function (_add) succeed." << endl;
  //初始化要傳入的參數(shù),args配置成傳入兩個參數(shù)的模式 
  PyObject* args = PyTuple_New(2);
  //將Long型數(shù)據(jù)轉(zhuǎn)換成Python可接收的類型 
  PyObject* arg1 = PyLong_FromLong(4);
  PyObject* arg2 = PyLong_FromLong(3);
  //將arg1配置為arg帶入的第一個參數(shù) 
  PyTuple_SetItem(args, 0, arg1);
  //將arg1配置為arg帶入的第二個參數(shù) 
  PyTuple_SetItem(args, 1, arg2);
  //傳入?yún)?shù)調(diào)用函數(shù),并獲取返回值 
  PyObject* pRet = PyObject_CallObject(pv, args);
  if (pRet)
  {
    //將返回值轉(zhuǎn)換成long型 
    long result = PyLong_AsLong(pRet);
    cout << "result:" << result << endl ;
  }
  Py_Finalize();
  system("pause");
  return 0;
}

注意腳本放的位置,確保C++代碼可以引用它。

運行結(jié)果:

3.python代碼處理

在發(fā)布軟件的時候,通常我們都不希望代碼可以直接被別人看到。

以上的Debug目錄中的exe要想能夠單獨運行,必須把python腳本拷過去。為了不讓別人能直接看到我的代碼,我拷過去的是生成的.pyc文件

拷過去之后修改文件名為:

實現(xiàn)了一個簡單的python代碼的加密。

不過據(jù)說可以反編譯,但是對我來說已經(jīng)夠了。

總結(jié)

以上所述是小編給大家介紹的詳解C++調(diào)用Python腳本中的函數(shù)的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • C++核心編程之內(nèi)存分區(qū)詳解

    C++核心編程之內(nèi)存分區(qū)詳解

    這篇文章主要為大家詳細介紹了C++核心編程之內(nèi)存分區(qū),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • QT實現(xiàn)串口通信的完整步驟

    QT實現(xiàn)串口通信的完整步驟

    如果用qt寫程序作為上位機,然后通過和usb和下位機通信的時候,就需要用到qt中的串口通信了,下面這篇文章主要給大家介紹了關(guān)于QT實現(xiàn)串口通信的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • QT實現(xiàn)單詞檢索軟件的示例代碼

    QT實現(xiàn)單詞檢索軟件的示例代碼

    本文主要介紹了QT實現(xiàn)單詞檢索軟件的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C語言實現(xiàn)電話簿管理系統(tǒng)課程設計

    C語言實現(xiàn)電話簿管理系統(tǒng)課程設計

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)電話簿管理系統(tǒng)課程設計,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • C語言調(diào)用SQLite數(shù)據(jù)庫實現(xiàn)數(shù)據(jù)增刪改查

    C語言調(diào)用SQLite數(shù)據(jù)庫實現(xiàn)數(shù)據(jù)增刪改查

    SQLite是一種輕量級的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),是一個開源的、零配置的、服務器端的、自包含的、零管理的、事務性的SQL數(shù)據(jù)庫引擎,本文主要介紹了如何調(diào)用SQLite數(shù)據(jù)庫實現(xiàn)數(shù)據(jù)增刪改查,需要的可以參考一下
    2023-08-08
  • 用C語言實現(xiàn)簡單版9*9掃雷小游戲

    用C語言實現(xiàn)簡單版9*9掃雷小游戲

    這篇文章主要介紹了用C語言實現(xiàn)簡單版9*9掃雷小游戲,本文通過實例圖文相結(jié)合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • C++小知識:用++i替代i++

    C++小知識:用++i替代i++

    今天小編就為大家分享一篇關(guān)于C++小知識:用++i替代i++,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Visual C++中Tab View的多種實現(xiàn)方法

    Visual C++中Tab View的多種實現(xiàn)方法

    這篇文章主要介紹了Visual C++中Tab View的多種實現(xiàn)方法,包括了CTabCtrl控件、CSheetCtrl標簽選擇窗口以及靜態(tài)分割窗口等實現(xiàn)Tab View的方法,需要的朋友可以參考下
    2014-10-10
  • Qt+OpenCV利用幀差法實現(xiàn)車輛識別

    Qt+OpenCV利用幀差法實現(xiàn)車輛識別

    所謂幀差法也就是對連續(xù)圖像幀做差分運算,其結(jié)果與定義好的閾值比較,若大于閾值則為運動目標值為1,否則值為0?。本文將利用幀差法實現(xiàn)車輛識別,感興趣的可以了解一下
    2022-08-08
  • Qt(C++)調(diào)用工業(yè)相機Basler的SDK使用示例

    Qt(C++)調(diào)用工業(yè)相機Basler的SDK使用示例

    這篇文章主要介紹了Qt(C++)調(diào)用工業(yè)相機Basler的SDK使用示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03

最新評論

青田县| 石门县| 河北区| 金堂县| 安福县| 南丹县| 济阳县| 茶陵县| 沧州市| 乌兰浩特市| 绥宁县| 景洪市| 平塘县| 西和县| 象山县| 中方县| 邮箱| 环江| 铜陵市| 织金县| 紫金县| 汉川市| 若尔盖县| 六盘水市| 射洪县| 湘阴县| 鸡西市| 女性| 同德县| 东乌| 喀喇| 名山县| 郓城县| 凭祥市| 浙江省| 庆元县| 措勤县| 海安县| 商丘市| 扶沟县| 榆中县|