C++调用Python_____用Python C API
项目需要用C++来处理用python处理的数据集,所以就需要在C++中调用python。
先介绍第一种方法,python文档中给出了python c api,可以实现C++与python的互动。
先新建一个C++ Project,名字叫CallPythonFunction,在项目->属性->VC++目录,包含目录添加你自己的python的inclue文件夹路径,
在库目录添加python的libs目录,如下(记得查看自己的python安装目录)
此时去你的python安装目录下面,找到libs文件夹,可以看到里面会有好几个lib文件,都是以python+版本号.lib形式命名,python39.lib是给release使用,python39_d.lib是给debug版本使用。这个需要根据你的项目需要release还是debug版本来决定,以debug为例,找到项目->属性->链接器->输入->附加依赖项,添加python39_d.lib完整路径
此时项目属性配置已经完成,用一个demo来test一下
先编辑python文件,名字:mytest.py,定义了hello函数
# -*- coding: utf-8 -*-
def hello():
print("Hello c++, I'm python!")
再编辑调用python的C++文件,在项目的源文件处中添加main.cpp文件,内容如下
#include <iostream>
#include <python.h>
using namespace std;
void hello()
{
Py_Initialize();
if (!Py_IsInitialized())
{
cout << "Python initialization fails " << endl;
return ;
}
PyObject* pModule = NULL;
PyObject* pFunc = NULL;
pModule = PyImport_ImportModule("mytest"); // 调用的文件名
pFunc = PyObject_GetAttrString(pModule, "hello"); //调用的函数名
PyObject_CallObject(pFunc, NULL); //执行python函数
Py_Finalize();
}
即可,对于python c api如何使用这里就不介绍了,网上很多类似文章。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理