(,未找到原因)。配置vs2008项目(,所以vs2008项目也必须调整为release,但是通过设置也可以对release进行调试,,也可以下载python源码自己编译。)C/C++---->常规--->附件库包含目录,加入python头文件目录,如下图:连接器--->常规--->附件库目录。加入python库文件目录,如下图:连接器--->输入--->附加依赖项。加入python库文件名,如下图:代码实现C++调用python高层次嵌入python(所谓的高层次嵌入主要是指程序与脚本间没有交互)#include<>intmain(){Py_Initialize();/*Python解释器初始化*/PyRun_SimpleString("print'hi,python!'");/*运行python字符串*/Py_Finalize();/*结束Python解释器,释放资源*/return0;}低层次嵌入pyton,可以交互。但是只限python的基本类型数据(整型、浮点型、字符串、元组、列表和字典)。C++代码:#include<>#include<>intmain(intargc,char*argv[]){PyObject*modulename,*module,*dic,*func,*args,*rel,*list;char*ame1="sum";inti;Py_ssize_ts;printf("-==在C中嵌入Python==-\n");/*Python解释器的初始化*/Py_Initialize();if(!Py_IsInitialized()){printf("初始化失败!");return-1;}/*导入Python模块,并检验是否正确导入*/modulename=Py_BuildValue("s","pytest");/*pytest参数,为python脚本,*/module=PyImport_Import(modulename);if(!module){printf("导入pytest失败!");return-1;}/*获得模块中函数并检验其有效性*/dic=PyModule_GetDict(module);if(!dic){printf("错误!\n");return-1;}/*获得sum函数地址并验证*/func=PyDict_GetItemString(dic,ame1);if(!PyCallable_Check(func)){printf("不能找到函数%s",ame1);return-1;}/*构建列表*/list=PyList_New(5);printf("使用Python中的sum函数求解下列数之和\n");for(i=0;i<5;i++){printf("%d\t",i);PyList_SetItem(list,i,Py_BuildValue("i",i));}printf("\n")
python与C 混合编程 来自淘豆网www.taodocs.com转载请标明出处.