将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
相关推荐
ZTLJQ3 分钟前
数据的基石:Python中关系型数据库完全解析
开发语言·数据库·python
FreakStudio42 分钟前
lvgl-micropython、lv_micropython和lv_binding_micropython到底啥关系?一文读懂
python·单片机·嵌入式·面向对象·电子diy
2301_818419011 小时前
C++中的解释器模式变体
开发语言·c++·算法
爱学习的大牛1231 小时前
windows tcpview 类似功能 c++
c++
小江的记录本1 小时前
【Redis】Redis全方位知识体系(附《Redis常用命令速查表(完整版)》)
java·数据库·redis·后端·python·spring·缓存
dinl_vin1 小时前
Python 数据分析入门系列(一):从NumPy开始
python·数据分析·numpy
biter down2 小时前
C++11 统一列表初始化+std::initializer_list
开发语言·c++
小陈工2 小时前
2026年3月26日技术资讯洞察:WebAssembly崛起、AI代码质量危机与开源安全新挑战
人工智能·python·安全·架构·开源·fastapi·wasm
2401_879693872 小时前
数据分析与科学计算
jvm·数据库·python
ShineWinsu2 小时前
爬虫对抗:ZLibrary反爬机制实战分析技术文章大纲
c++