栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

c调用python怎么释放

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c调用python怎么释放

c调用python的步骤:

1、设置编译环境,其实就是设置Python的头文件和库文件目录

2、初始化Python解释器:

 Py_Initialize();

3、调用Python

4、释放资源

Py_Finalize();

实例:

int PyCall( const char * module, const char * function, const char *format, ... )
{
 PyObject* pMod    = NULL;
 PyObject* pFunc   = NULL;
 PyObject* pParm   = NULL;
 PyObject* pRetVal = NULL;

 //导入模块
 if( !(pMod = PyImport_ImportModule(module) ) ){
  return -1;
 }
 //查找函数
 if( !(pFunc = PyObject_GetAttrString(pMod, function) ) ){
  return -2;
 }

 //创建参数
 va_list vargs;
 va_start( vargs, format );
 pParm = Py_VaBuildValue( format, vargs );
 va_end(vargs);

 //函数调用
 pRetVal = PyEval_CallObject( pFunc, pParm);
 
 //假定返回值为整形
 int ret;
 PyArg_Parse( pRetVal, "i", &ret );
 return ret;
}

int main(int argc, char* argv[])
{
 Py_Initialize();

 
 printf( "ret = %d
", PyCall( "pytest", "fun",  "()" );
 printf( "ret = %d
", PyCall( "pytest", "fun1", "(i)",  12 );
 printf( "ret = %d
", PyCall( "pytest", "fun2", "(is)", 12, "12" );

 Py_Finalize();

 return 0;
}

更多Python知识请关注Python视频教程栏目。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/816935.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号