c++ 调用python示例

10 篇文章 1 订阅

设置 C++ 包含目录

设置 链接器 附加库目录

.h

#include <python.h>

#pragma comment(lib, "python34.lib")

// #pragma comment(lib, "python3.lib");
// #pragma comment(lib, "select.lib");
// #pragma comment(lib, "unicodedata.lib");
// #pragma comment(lib, "winsound.lib");

class KPyProg
{
public:
	KPyProg(void);
	~KPyProg(void);

	void run();
};

 

.cpp
 

#include "StdAfx.h"
#include "KPyProg.h"


KPyProg::KPyProg(void)
{
	run();
}


KPyProg::~KPyProg(void)
{
}

void KPyProg::run()
{
	Py_Initialize();
	if (Py_IsInitialized())
	{
		AfxMessageBox(_T("python初始化成功"));

		PyRun_SimpleString("import sys");  
		PyRun_SimpleString("print('---import sys---')");   
		PyRun_SimpleString("sys.path.append('E:\\project\\sc1\\cprog\\jt1\\py')");  
		//PyRun_SimpleString("");  

		//获取模块
		PyObject* pModule = PyImport_ImportModule("curveFit");
		if (!pModule) {
			printf("Cant open python file!/n");
			return;
		}

		PyObject* pFunc = PyObject_GetAttrString(pModule, "cacu");	
		PyObject *pReturn = NULL;
		PyObject* pArgs = NULL;
		pReturn = PyEval_CallObject(pFunc, pArgs);

		//使用方法
		unsigned long val = PyLong_AsUnsignedLong(pReturn);
		Py_DECREF(pFunc);
		//Py_DECREF(pArgs);
 		Py_DECREF(pModule);
		Py_Finalize();
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值