1
我正在開發一些python系統,通過ctypes訪問一些核心dll。我已經將問題簡化爲這種情況:執行一個加載(無需調用)兩個dll的模塊,其中一個調用printf - 此錯誤將在退出時發生。當ctypes dll調用printf時python終止錯誤
此應用程序已請求運行時終止它在 不尋常的方式。請聯繫應用程序的支持團隊獲取更多 信息。
我的環境:
- Windows 7的SP1 - 的Python 2.7.8 - MinGW的v 3.20
這個測試用例是改編自一個教程使用MinGW寫的dll:
/* add_core.c */
__declspec(dllexport) int sum(int a, int b) {
return a + b;
}
/* sub_core.c */
#include <stdio.h>
__declspec(dllexport) int sum(int a, int b) {
printf("Hello from sub_core.c");
return a - b;
}
prog.py
import ctypes
add_core_dll = ctypes.cdll.LoadLibrary('add_core.dll')
add_core_dll = ctypes.cdll.LoadLibrary('sub_core.dll')
> make
gcc -Wall -O3 -g -ansi -c add_core.c -o add_core.o
gcc -g -L. -ansi -shared add_core.o -o add_core.dll
gcc -Wall -O3 -g -ansi -c sub_core.c -o sub_core.o
gcc -g -L. -ansi -shared sub_core.o -o sub_core.dll
>python prog.py
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
並彈出消息對話框以達到相同的效果:「python.exe已停止工作...」。
請注意,程序按預期執行併產生正常輸出。終止這個錯誤只是我想擺脫的一大麻煩。