我正在使用ctypes来调用MinGW-w64编译库的函数。
C代码:
#include <stdio.h>
int hello()
{
printf("Hello world!\n");
return 233;
}
Python代码:
from ctypes import *
lib = CDLL("a.dll")
hello = lib.hello
hello.restype = c_int
hello()
在MinGW-w64中使用gcc编译C代码:
gcc tdll.c -shared -o a.dll
然后在Python for Windows 3.5.2中运行python代码,python在 hello()上挂起,使用率为100%。
然后我尝试在Python中为MinGW 3.4.3运行python代码(从msys2 repo安装),这没问题。
那我的代码出了什么问题?我该如何解决它?
答案 0 :(得分:0)
使用&#39; x86_64-w64-mingw32-gcc&#39;或&#39; i686-w64-mingw32-gcc&#39;而不是&#39; gcc&#39;在msys!
&#39; gcc&#39;命令调用x86_64-pc-msys-gcc。