python3 C/C++如何调用python的简单实例

python3 C++如何调用python的简单实例(windows)

看了一些帖子,情况各有不同,细节也参差不齐。想简单总结一下C++如何调用python的例子,为了方便,自己使用的python版本是Anaconda3集成安装下的python,实现了简单的调用过程。(为什么要提到Anaconda,如果是集成包安装python的方式,那么跟官网下单独安装python包在路径添加会有所不同)

环境:

  1. Windows 10
  2. Python 3.6
  3. Visual Studio 2015

配置步骤:

1. 环境变量
添加方法:win+R,输入sysdm.cpl,选择高级环境变量,在用户变量path里面添加python根目录的路径,如果是Anaconda安装的,比如我,是C:\Users\qgl\Anaconda3;如果你是官网单独安装的,那么就是C:\Users\qgl\pythonxx(xx:版本号),为了保险,我还在系统变量以及用户变量都新建了新的变量pythonhome,均是C:\Users\qgl\Anaconda3
2. 新建项目
新建一个win32控制台应用程序,因为Anaconda3是X86_64位,所以这里有个坑点,需要在配置管理器里将win32改为X64位。
在这里插入图片描述
3. 调试属性
(1)C/C++ -常规-附加包含目录:(编辑),Anaconda下的python写C:\Users\qgl\Anaconda3\include,单独安装的python写C:\Users\...\pythonxx\include
在这里插入图片描述
(2)链接器-常规-附加库目录,Anaconda3安装的python,写C:\Users\qgl\Anaconda3\libs;官网下安装的python同(1)安排。
在这里插入图片描述
(3)链接器-输入-附加依赖项,根据版本填写,我的是python36.lib
在这里插入图片描述
4. 编写C++源文件
代码如下:

// c2python_demo4.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "Python.h"

int _tmain(int argc, _TCHAR* argv[])
{
	Py_Initialize(); 

	PyRun_SimpleString("import sys; sys.path.append('./')");     //遍历路径下的文件
	PyRun_SimpleString("import demotest");     // 引入python写好的模块 demotest.py

	PyRun_SimpleString("print(demotest.hello(4))");   //带入变量,得到调用结果

	Py_Finalize();

	while (1) {
		//# 死循环,防止程序自动退出。
			int i = 0;
	}
	
}

5. 调用python
需要在C++的项目解决方案里的源文件新建一个demotest.py,将写好的python模块内容copy进去。(我这样做是为了以防直接添加现有项找不到模块路径,如果其它尝试也可以的话,欢迎留言讨论)
代码如下:

import math

def hello(x):
    print('Hello to c++ world!')
    a = x*x
    print(a)

6. 运行结果
使用Debug下的本地调试结果:
在这里插入图片描述

调用成功,供其他参考。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值