本文主要是介绍VScode 里面 Python 当中去调用 C++ 代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
VScode 里面应该安装 Python 和 C++ 的插件。
1. 第一个文件时 Cpp 配置文件 c_cpp_properties.json。(类似于CmakeList)
主要是 包含下面三个 include_path 头文件
{"configurations": [{"name": "Linux","includePath": ["${workspaceFolder}/**","/home/smiao/anaconda3/envs/Gen_3DGS/lib/python3.8","/home/smiao/anaconda3/envs/Gen_3DGS/lib/python3.8/site-packages/torch/include/","/home/smiao/anaconda3/envs/Gen_3DGS/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/"],"defines": [],"compilerPath": "/usr/bin/gcc","cStandard": "c17","cppStandard": "gnu++14","intelliSenseMode": "linux-gcc-x64"}],"version": 4
}
2. 对应的C++ 的简单代码,使用 PyBIND 将C++代码 转换成 Python 可以调用的 包:
#include <torch/extension.h>
torch::Tensor trilinear_interpolation(torch::Tensor feats, torch::Tensor point)
{return feats;
}PYBIND11_MODULE(TORCH_EXTENSION_NAME,m){m.def("trilinear_interpolation",&trilinear_interpolation);
}
3. 编写 setup.py 代码将C++ 代码进行编译安装
from setuptools import setup
from torch.utils.cpp_extension import CppExtension, BuildExtensionsetup(name="cpp_tutorial", ## 安装的 库的名字version='1.0',ext_modules=[CppExtension(name='cpp_tutorial',sources=['interpolat.cpp'] ## 对应的 Cpp 文件)],cmdclass={'build_ext': BuildExtension}
)
4. 执行命令进行安装
pip install . ## 进入 setup.py 所在的同级目录,执行该目录
之后使用 pip list 可以查看安装的package
这篇关于VScode 里面 Python 当中去调用 C++ 代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!