Python 调用VC++的动态链接库(DLL)
Python 调用VC++的动态链接库(DLL)
发布时间:2016-12-28 来源:查字典编辑
摘要:1.首先VC++的DLL的导出函数定义成标准C的导出函数:复制代码代码如下:#ifdefLRDLLTEST_EXPORTS#defineLR...

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

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新python学习
热门python学习
脚本专栏子分类