import ctypes
clib = ctypes.CDLL(r"./C_python/myDll.dll") # 加载方式一
ShowApp = clib.ShowAppWnd #原型为int ShowAppWnd(const char* cname)
ShowApp.restype = ctypes.c_int
ShowApp.argtypes = [ctypes.c_char_p]
#/// print(ShowApp("EVERYTHING")) 是错误的,python中str类型与C语言 char *不兼容的.
# 创建char*
classname = ctypes.c_char_p(b"EVERYTHING") #! 看清楚c_char_p的参数类型,这里要转化为字节流,用'b'修饰
# classname=ctypes.c_wchar_p("EVERYTHING") # 这里将创建 wchar*(unsigned short*),与char* 不兼容
print(ShowApp(classname)) # 正确
ctypes 创建char型指针问题解决
最新推荐文章于 2024-03-06 13:47:29 发布