IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> vscode内c++调用python内函数 -> 正文阅读

[开发工具]vscode内c++调用python内函数


VScode中配置环境

首先是在VScode中为C++调用python接口配置环境

1、配置step1

打开vscode的拓展商店安装python
在这里插入图片描述

2、配置step2

然后编辑c_cpp_properties.json文件,在文件中的includePath项添加自己的python include路径

{
    "configurations": [
        {
          "name": "Win32",
          "includePath": [
            "${workspaceFolder}/**",
            "E:\\Anaconda3\\include"#这里的路径即为我们要添加的自己的python路径
          ],
          "defines": ["_DEBUG", "UNICODE", "_UNICODE"],
          "windowsSdkVersion": "10.0.17763.0",
          "compilerPath": "E:\\C++\\mingw64\\bin\\g++.exe",   /*修改成自己bin目录下的g++.exe,这里的路径和电脑里复制的文件目录有一点不一样,这里是两个反斜杠\\*/
          "cStandard": "c11",
          "cppStandard": "c++17",
          "intelliSenseMode": "${default}"
        }
      ],
      "version": 4
}

3、配置step3

编辑jasks.json文件,

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "task g++",
            "command": "E:\\C++\\mingw64\\bin\\g++.exe",
            "args": [
                "-g",
                "${file}",
                "-L","E:\\Anaconda3\\libs\\*",#这里改为自己python库文件夹路径
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "-I",
                "E:\\Anaconda3\\include",#这里改为自己python的include路径
                "-std=c++17"
            ],
            "options": {
                "cwd": "E:\\C++\\mingw64\\bin"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": "build"
        },
        {
            "type": "cppbuild",
            "label": "C/C++: cpp.exe 生成活动文件",
            "command": "E:\\C++\\mingw64\\bin\\cpp.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ]
}

调用python

python测试代码

test.py

def hello():
    print("hello")

main.cpp

#include "E:\\Anaconda3\\include\\Python.h"
//#include "Python.h"
#include <iostream>
#include <stdio.h>
#include <windows.h>
using namespace std;
int main()
{

    Py_SetPythonHome(L"E:\\Anaconda3");
    Py_Initialize();                          //初始化python解释器,告诉编译器要用的python编译器
    PyRun_SimpleString("import test");       //调用python文件
    PyRun_SimpleString("hell.hello()"); //调用上述文件中的函数
    Py_Finalize();                      //结束python解释器,释放资源
    system("Pause");
    return 0;                 
}

结果

在这里插入图片描述

参考文章

在VS2019和VScode中配置C++调用python接口
Vscode 使用 C++ 调用python
VsCode安装和配置c/c++环境(超完整,小白专用)

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-05-05 11:40:32  更:2022-05-05 11:42:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/14 15:01:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码