将c、c++变为python

1.编写cpp文件

复制代码
#include "pycpp.h"
#include <iostream>

using namespace std;

PyCpp::PyCpp(){

}

void PyCpp::sayHello(int a){
    cout << "Hello Python, I am C++."<<a << endl;
}

2.编写头文件(声明变量)

复制代码
class PyCpp{
public:
    PyCpp();
    void sayHello(int a);
};
// 不能定义编译器生成的特殊成员函数(必须首先在类中声明)

3.编写.i文件,用于链接

复制代码
%module pycpp

%{
#include "pycpp.h"
%}

%include "pycpp.h"

4.在同级目录下放python.h(去conda的env里面找)

5.下载swig运行代码
swig -c++ -python 1/pycpp.i

生成_wrap.cxx

6.编写setup.py

复制代码
from distutils.core import setup, Extension
pycpp_module = Extension('_pycpp',
                           sources=['pycpp.cpp', 'pycpp_wrap.cxx',],
                           )
setup (name = 'pycpp',
       version = '0.1',
       author      = "NZACH",
       description = """Simple swig C\+\+/Python example.""",
       ext_modules = [pycpp_module],
       py_modules = ["pycpp"],
       )

7.运行setup.py
python setup.py build_ext --inplace

8.使用

复制代码
>>> import pycpp
>>> pycpp.PyCpp().sayHello(12)
Hello Python, I am C++.12
相关推荐
微露清风26 分钟前
系统性学习C++-第八讲-vector类
java·c++·学习
weixin_4452518332 分钟前
7sch C++ <B> weak_ptr circular reference 1/99
c++
Jonathan Star39 分钟前
用Python轻松提取视频音频并去除静音片段
开发语言·python·音视频
给大佬递杯卡布奇诺1 小时前
FFmpeg 基本数据结构 AVInputFormat 分析
数据结构·c++·ffmpeg·音视频
给大佬递杯卡布奇诺1 小时前
FFmpeg 基本数据结构 AVCodecContext分析
数据结构·c++·ffmpeg·音视频
hd51cc1 小时前
C++ 类的学习(四) 继承
开发语言·c++·学习
紫荆鱼2 小时前
设计模式-命令模式(Command)
c++·后端·设计模式·命令模式
刘火锅2 小时前
Java 17 环境下 EasyPoi 反射访问异常分析与解决方案(ExcelImportUtil.importExcelMore)
java·开发语言·python
Hi202402173 小时前
Qt+Qml客户端和Python服务端的网络通信原型
开发语言·python·qt·ui·网络通信·qml
带土13 小时前
6. C语言 共用体及typedef
c语言