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

Python调用c++生成的dll

Python调用c++生成的dll

  • 1.简单例子
    • 1.1 vs2019 c++生成dll
    • 1.2 Python端调用
  • 2.调用c++类生成的dll
    • 2.1 vs cpp端生成dll
    • 2.2 Python端调用
  • 参考文献

1.简单例子

1.1 vs2019 c++生成dll

  • 项目中添加add.cpp文件
extern "C" int __declspec(dllexport) add(int x, int y)
{return x + y;
}
  • 配置属性

在这里插入图片描述

  • 生成dll
    点击生成解决方案,到输出目录文件夹查看add.dll文件是否正常生成。

1.2 Python端调用

from ctypes import*import sys
try:mydll = cdll.LoadLibrary(r"add.dll")
except:sys.exit("No shared DLL/SO found")print(mydll.add(3,4))
#7

2.调用c++类生成的dll

2.1 vs cpp端生成dll

  • 添加myDll.cpp文件
#include<iostream>
using namespace std;
class myDll
{
public:void helloDll() {cout << "hello dll" << endl;};
};extern "C" 
{myDll obj;extern "C" _declspec(dllexport) void helloDll() {return obj.helloDll();}
}
  • 配置属性

dll名设置为myDll.

  • 生成dll文件

参考第一个例子。

2.2 Python端调用

from ctypes import*import sys
try:mydll = cdll.LoadLibrary("myDll.dll")
except:sys.exit("No shared DLL/SO found")mydll.helloDll()#hello dll

测试通过!

参考文献

[1] python调用dll 结构体 python如何调用dll 转载

http://www.lryc.cn/news/197557.html

相关文章:

  • 算法基础学习|二分
  • mac M1 pro 安装grpc 报错
  • 交银国际:拼多多财报预测:主站盈利提升有望带动业绩超预期
  • 【SA8295P 源码分析 (二)】50 - OpenWFD Server 启动流程 之 wfd_server_tpp 线程池源码分析
  • 9.strspn函数
  • 电脑蓝牙与ESP32蓝牙连接,让电脑发现ESP32
  • k8s 暴露pod
  • Apache Dubbo 首个 Node.js 3.0-alpha 版本正式发布
  • Node.js中Buffer API详解
  • 【Hello Algorithm】暴力递归到动态规划(三)
  • gitLab更新11.11.3->16.1.5
  • 12-k8s-HPA自动扩缩容
  • 从十月稻田,看大米为何能卖出200亿市值?
  • 功能集成,不占空间,同为科技TOWE嵌入式桌面PDU超级插座
  • 使用pdf.js预览pdf文件时如何兼容chrome66版本
  • 一篇文章讲明白double、float丢失精度的问题
  • Day 2 Qt
  • ArmSoM-W3之RK3588 MPP环境配置
  • 【C++ 拷贝构造函数详解】
  • [计算机提升] 用户和用户组
  • 开路、断路和短路区别
  • springBoot web开发自动配置和默认效果
  • 论文阅读:Efficient Point Cloud Segmentation with Geometry-Aware Sparse Networks
  • 1-k8s1.24-底座搭建-基于containerd
  • Java文件前后端上传下载工具类
  • 内燃机可变气门驱动研究进展
  • NEFU离散数学实验2-容斥原理
  • 解决Windows内存溢出/占满死机问题-PoolMon工具
  • 【ROS】ros-noetic和anaconda联合使用【教程】
  • 自动化RPA开发 --获取所有窗口信息和进程信息