我寫了下面的dll稱爲djj.dll它稱爲try.cpp與下面的代碼從python代碼調用C函數。 DLL不工作
#include<stdio.h>
int print(){
return 4;
}
現在,我建立這個DLL和去蟒蛇空閒的文件。
我輸入print windll.djj.print。它給出語法錯誤.WHY?
我寫了下面的dll稱爲djj.dll它稱爲try.cpp與下面的代碼從python代碼調用C函數。 DLL不工作
#include<stdio.h>
int print(){
return 4;
}
現在,我建立這個DLL和去蟒蛇空閒的文件。
我輸入print windll.djj.print。它給出語法錯誤.WHY?
正如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
print
是python 2.x中的關鍵字。您不能將其用作屬性名稱。
可能的重複[如何使用Python中的DLL](http://stackoverflow.com/questions/252417/how-can-i-use-a-dll - 從-蟒蛇) – Drakosha