Python 调用VC++的动态链接库(DLL)
发布时间:2023-06-19 09:01:44
标签:Python,VC++,动态链接库,DLL
1. 首先VC++的DLL的导出函数定义成标准C的导出函数:
#ifdef LRDLLTEST_EXPORTS
#define LRDLLTEST_API __declspec(dllexport)
#else
#define LRDLLTEST_API __declspec(dllimport)
#endif
extern "C" LRDLLTEST_API int Sum(int a , int b);
extern "C" LRDLLTEST_API void GetString(char* pChar);
//a + b
LRDLLTEST_API int Sum(int a , int b)
{
return a + b;
}
//Get a string
LRDLLTEST_API void GetString(char* pChar)
{
strcpy(pChar, "Hello DLL");
}
2. Python中调用如下:
from ctypes import *
fileName="LRDllTest.dll"
func=cdll.LoadLibrary(fileName)
str = create_string_buffer(20)
n = func.Sum(2, 3)
func.GetString(str)
print n
print str.raw
关于C语言中的一些参数类型详见:http://www.python.org/doc/2.5/lib/node454.html
3. 输出结果:
5
Hello DLL
0
投稿
猜你喜欢
- 键盘事件废话不多说直接上包from selenium.webdriver.common.keys import Keys1、删除键 BACK
- matplotlib简介matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行
- 简述和GNU一样,YAML是一个递归着说“不”的名字。不同的是,GNU对UNIX说不,YAML说不的对象是XML。YAML不是XML。为什么
- pytest-playwright 是一个 Python 包,它允许您使用 Microsoft 的 Playwright 库在 Python
- PS笔刷,样式,形状、渐变、滤镜载入方式及使用:1、笔刷载入方式: 打开PS,编辑-->预设管理器-->载入-->然后点你
- 本文实例讲述了python读写配置文件操作。分享给大家供大家参考,具体如下:在用编译型语言写程序的时候,很多时候用到配置文件,作为一个约定的
- 或许你也经历过,很多人都说一个女人很漂亮,而你觉得很一般。有时候,我也尝试理解为什么会对某个女人情有独钟。通常,我用迷人来描述,但这个&qu
- 下文分步骤给大家介绍的非常详细,具体详情请看下文吧。一、准备用两台服务器做测试:Master Server: 192.0.0.1/Linux
- 后端代码就不介绍了,可以参考 django rest framework 实现用户登录认证这里介绍一下前端代码,和前后端的联调过程在comp
- “你不必严格遵守这些原则,违背它们也不会被处以宗教刑罚。但你应当把这些原则看成警铃,若违背了其中的一条,那么警铃就会响起
- 前言"胸藏文墨怀如谷,腹有诗书气自华"。 —&mda
- 运行以下代码: Dim com As ADODB.Command Dim rst
- 修改 index.js 内容,写一些 ES6 的语法:const arr = [ new Promise(() => {}
- 最近Google Code推出了一个面向网站开发者的 * Google DocType。它来自于网站开发者同时又面
- 在许多编程语言中都包含有格式化字符串的功能,比如C和Fortran语言中的格式化输入输出。Python中内置有对字符串进行格式化的操作%。模
- UPDATE是否会加锁?SQL语句为如下时,是否会加锁?UPDATE table1 SET num = num + 1 WHERE id=1
- 例子1:<input type="text" value="0" onkeyup="
- 目录先通过一个实例来了解下接口到底解决什么问题。定义一个接口定义类,继承接口Python 抽象基类的介绍 (PEP3119)软件行业,唯一不
- SELECT sch.name + '.' + t.name AS [Table Name],
- key_len的含义在MySQL中,可以通过explain查看SQL语句所走的路径,如下所示:mysql> create table