将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
相关推荐
wanghu20243 分钟前
AT_abc443_C~E题题解
c语言·算法
梵刹古音7 分钟前
【C语言】 浮点型(实型)变量
c语言·开发语言·嵌入式
u01092727110 分钟前
模板元编程调试方法
开发语言·c++·算法
2501_9071368228 分钟前
python 界面元素控件库工具,可以看到python的可视控件和使用方法
python·软件需求
2301_7657031431 分钟前
开发一个简单的Python计算器
jvm·数据库·python
yj155832 分钟前
客厅阳台改卧室需要注意什么?
python
2401_8384725134 分钟前
C++图形编程(OpenGL)
开发语言·c++·算法
boss-dog35 分钟前
关于强化学习入门理解和示例
python·强化学习
-dzk-38 分钟前
【代码随想录】LC 203.移除链表元素
c语言·数据结构·c++·算法·链表
一只理智恩1 小时前
筹备计划·江湖邀请令!!!
python·langchain