我想測試用ctypes來包裝dll。我寫了下面的測試代碼,並使用Code :: Blocks和Cygwin將它編譯爲一個dll。Python解釋器在加載DLL時退出
#define DLL_EXPORT extern "C" __declspec(dllexport)
DLL_EXPORT int sum(int a, int b) {
return a + b;
}
注意:這是整個代碼。也許有一些缺失?
現在,我將TestDll.dll
複製到我的桌面並啓動Python解釋器。但是當我想加載時,解釋器就退出了!
C:\Users\niklas\Desktop>python
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win 32
Type "help", "copyright", "credits" or "license" for more information.
>>> import ctypes
>>> dll = ctypes.WinDLL('TestDll')
C:\Users\niklas\Desktop>
但是,加載任何其他庫工作,或者如果無法找到該庫,則會發出錯誤。
你能告訴我我在做什麼錯嗎?
使用Cygwin G ++ 3.4.4
Yippie使用'ctypes.CDLL'修復了在Ignacios post評論中遇到的問題。但即使使用這些命令,使用Cygwin仍然失敗。不,該dll沒有'dllmain'。爲什麼它必須?它使用MinGw沒有它。 :) –