• cpp调用python


    1 头文件:#include <Python.h>

    2 编译坑:

    3 函数说明:示例

    /**g++ -o callpy callpy.cpp -I/usr/include/python2.6 -L/usr/lib64/python2.6/config -lpython2.6**/
    #include <Python.h>

    int main(int argc, char** argv) {

      Py_Initialize();
      if ( !Py_IsInitialized() ) { return -1; }

      PyRun_SimpleString("import sys");
      PyRun_SimpleString("sys.path.append('./')");
      PyObject *pName,*pModule,*pDict,*pFunc,*pArgs;

      // 载入名为pytest的脚本
      pName = PyString_FromString("pytest");
      pModule = PyImport_Import(pName);
      if ( !pModule ) { return -1; }
      pDict = PyModule_GetDict(pModule);
      if ( !pDict ) { return -1; }

      // 找出函数名为add的函数
      pFunc = PyDict_GetItemString(pDict, "add");

      // 参数进栈
      PyObject *pArgs;
      pArgs = PyTuple_New(2);

      PyTuple_SetItem(pArgs, 0, Py_BuildValue("l",3));
      PyTuple_SetItem(pArgs, 1, Py_BuildValue("l",4));

      // 调用Python函数
      PyObject_CallObject(pFunc, pArgs);

      Py_DECREF(pName);
      Py_DECREF(pArgs);
      Py_DECREF(pModule);

      // 关闭Python
      Py_Finalize();
      return 0;
    }

  • 相关阅读:
    前端模板引擎编译
    h5与app混合开发,jsbridge
    vuex
    async await promise
    node端口被占用
    npm工作流 与webpack 分同环境配置
    GraphQL
    mybatis批量删除、插入
    Oracle数据库速查知识文档
    Oracle刷新物化视图
  • 原文地址:https://www.cnblogs.com/hanlaomo/p/13932883.html
Copyright © 2020-2023  润新知