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种常见的参数传递情况,当然还包括其它的,诸如传递结构体、数值数组等类型的情况,详细情况可参考以前的文章。 |
|