从python代码调用C函数。 Dll不工作

时间:2011-09-17 16:10:34

标签: python c

我在下面写了一个名为djj.dll的dll,它有一个名为try.cpp的文件,代码为

#include<stdio.h> 

int print(){ 

return 4; 

} 

现在,我构建这个DLL并转到python空闲。

我输入print windll.djj.print。它给出了语法错误.WHY ??

2 个答案:

答案 0 :(得分:1)

正如Aaron Gallagher所说,print是一个Python关键字。编译的DLL也使用标准的Windows调用约定(即windll)是不寻常的。它更有可能使用cdecl(即cdll)。这是一种应该有效的方法:

djj = ctypes.cdll.LoadLibrary('djj.dll')
my_print = getattr(djj, 'print')
x = my_print() #x is 4

答案 1 :(得分:0)

print是python 2.x中的关键字。您不能将其用作属性名称。