将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
相关推荐
BanyeBirth19 分钟前
C++滑动门问题(附两种方法)
开发语言·c++
覆东流22 分钟前
Python语法特点与编码规范
python
EstrangedZ43 分钟前
使用vscode MSVC CMake进行C++开发和Debug
c++·ide·vscode·msvc·cmake·visual studio
一伦明悦დ1 小时前
嵌入式系统C语言编程常用设计模式---参数表驱动设计
c语言·开发语言·单片机·设计模式
丶Darling.1 小时前
Day125 | 灵神 | 二叉树 | 二叉树中的第K大层和
数据结构·c++·学习·算法·二叉树
Want5951 小时前
Python炫酷烟花
开发语言·python·pygame
老歌老听老掉牙1 小时前
Python 脚本执行命令的深度探索:方法、示例与最佳实践
python·命令
L_cl1 小时前
【Python 算法零基础 4.排序 ⑤ 归并排序】
python·算法·排序算法
Cherl.2 小时前
C语言 贪吃蛇小游戏的实现
c语言·开发语言·链表·贪吃蛇
拾忆-eleven2 小时前
NLP学习路线图(五):常用库-NumPy, Pandas, Matplotlib
python·自然语言处理·nlp