当前位置: 首页 > news >正文

将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
http://www.lryc.cn/news/308626.html

相关文章:

  • golang学习7,glang的web的restful接口结构体传参
  • python模型训练
  • 逆向案例三:动态xhr包中AES解密的一般步骤,以精灵数据为例
  • 超越CPU和GPU:引领AI进化的LPU
  • MySQL 逗号分隔查询--find_in_set()函数
  • 【物联网应用案例】智能农业的 9 个技术用例
  • 前端开发——ElementUI组件的使用
  • Unity编写Shader内置各种矩阵和方法介绍
  • 初学者如何使用QT新建一个包含UI界面的C++项目
  • 韦东山嵌入式Liunx入门驱动开发四
  • ubuntu基础操作(1)-个人笔记
  • Spring Cloud2022之OpenFeign使用以及部分源码分析
  • 【非比较排序】计算排序算法
  • 数据结构与算法 - 数组与二分查找 + Leetcode典型题
  • SQL进阶(三):Join 小技巧:提升数据的处理速度
  • 开发知识点-.netC#图形用户界面开发之WPF
  • 基于springboot实现流浪动物救助网站系统项目【项目源码+论文说明】
  • 灰度负载均衡和普通负载均衡有什么区别
  • 【二分查找】朴素二分查找
  • Windows Docker 部署 Redis
  • 什么是VR虚拟现实|虚拟科技博物馆|VR设备购买
  • 高性能API云原生网关 APISIX安装与配置指南
  • Gradio Dataframe 学习笔记
  • 深入理解计算机系统笔记
  • 300分钟吃透分布式缓存(拉钩教育总结)
  • 2024亚马逊全球开店注册前需要准备什么?
  • android Service 与 activity 通信 并不断传数据
  • Acwing-基础算法课笔记之数学知识(扩展欧几里得算法)
  • 简单排列组合题(python版)
  • 【排坑】搭建 Karmada 环境