2011-09-17 42 views
-3

我寫了下面的dll稱爲djj.dll它稱爲try.cpp與下面的代碼從python代碼調用C函數。 DLL不工作

#include<stdio.h> 

int print(){ 

return 4; 

} 

現在,我建立這個DLL和去蟒蛇空閒的文件。

我輸入print windll.djj.print。它給出語法錯誤.WHY?

+0

可能的重複[如何使用Python中的DLL](http://stackoverflow.com/questions/252417/how-can-i-use-a-dll - 從-蟒蛇) – Drakosha

回答

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 
0

print是python 2.x中的關鍵字。您不能將其用作屬性名稱。