Python调用c++生成的dll

Python调用c++生成的dll

1.简单例子

1.1 vs2019 c++生成dll

  • 项目中添加add.cpp文件
cpp 复制代码
extern "C" int __declspec(dllexport) add(int x, int y)
{
	return x + y;
}
  • 配置属性
  • 生成dll
    点击生成解决方案,到输出目录文件夹查看add.dll文件是否正常生成。

1.2 Python端调用

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文件
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端调用

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 转载](https://blog.51cto.com/u_16099237/6548050)

相关推荐
在屏幕前出油1 分钟前
08. ORM——快速开始
数据库·后端·python·sql·pycharm·orm
捉鸭子1 分钟前
某红书X-s X-s-common VMP逆向(算法还原)
python·web安全·网络安全·node.js·网络爬虫
qq_366740603 分钟前
《多模态大模型——算法、应用与微调》勘误
python
小菜鸡桃蛋狗3 分钟前
C++——vector
开发语言·c++·算法
噜噜噜阿鲁~5 分钟前
python学习笔记 | 7.2、高级特性-迭代
笔记·python·学习
Trouvaille ~6 分钟前
零基础入门 LangChain 与 LangGraph(七):真正理解 LangGraph——从工作流、状态图到三个核心案例
python·langchain·agent·workflow·langgraph·ai应用开发·智能体开发
WL_Aurora6 分钟前
2026天梯赛题解
python·算法
无风听海11 分钟前
深入理解 Python 生成器
python
少司府12 分钟前
C++基础入门:初识模板
开发语言·c++·c·模板·函数模板·类模板·泛型编程
十五年专注C++开发28 分钟前
C++中TAS和CAS实现自旋锁
c++·cas·原子操作·tas