分享

如何利用python调用编译好的dll库?

 老三的休闲书屋 2019-01-12

python中可使用ctypes模块调用dll文件中的库函数。

例如一个dll文件“MyDll.dll”,其函数约定的调用方式为C调用(cdecl)方式,则Python中加载该dll文件的代码如下:

若DLL函数的调用约定是标准调用约定(stdcall)方式,则DLL文件的加载代码则改为:

dll = WinDLL('MyDll.dll')

下面给出几种不同类型的参数传递情况示例。

1、函数参数为数值情况

这是最简单的情况,设C语言函数声明如下:

Python中调用方式为:

2、函数参数为指针情况

设C语言函数实现代码如下:

Python中调用方式为:

也可以为:

3、函数参数为字符串情况

设C语言函数实现代码如下,其功能是对于输入pStr1赋值为“StrIn”,对于输出返回一个指向字符串常量“strOut”的指针:

Python中调用方式为:

这儿只列举了3种常见的参数传递情况,当然还包括其它的,诸如传递结构体、数值数组等类型的情况,详细情况可参考以前的文章。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多