vc调用dll:Python 调用VC++的动态链接库(DLL)

1. 首先VCDLL导出定义成标准C导出:
复制代码 代码如下:

#def LRDLLTEST_EXPORTS
# LRDLLTEST_API __declspec(dllexport)
#
# LRDLLTEST_API __declspec(dllimport)
#end
extern "C" LRDLLTEST_API Sum( a , b);
extern "C" LRDLLTEST_API void GetString(char* pChar);
//a + b
LRDLLTEST_API Sum( a , b)
{
a + b;
}
//Get a
LRDLLTEST_API void GetString(char* pChar)
{
strcpy(pChar, "Hello DLL");
}


2. Python中如下:
复制代码 代码如下:

from ctypes import *
fileName="LRDllTest.dll"
func=cdll.LoadLibrary(fileName)
str = create__buffer(20)
n = func.Sum(2, 3)
func.GetString(str)
pr n
pr str.raw


有关C语言中些参数类型详见:http://www.python.org/doc/2.5/lib/node454.html
3. 输出结果:
5
Hello DLL
Tags:  vc动态调用dll vc调用dll函数 vb调用vcdll vc调用dll

延伸阅读

最新评论

发表评论