gpt4 book ai didi

c - Python 2.7 至 3.5 : What changed with ctypes?

转载 作者:行者123 更新时间:2023-11-30 16:09:27 24 4
gpt4 key购买 nike

以下小程序正在调用 C 库:

from ctypes import * 

ini_file="/home/pi/pyYASDI/yasdi.ini"
yasdiMaster_lib="/usr/local/lib/libyasdimaster.so"

masterlib = cdll.LoadLibrary(yasdiMaster_lib)

DriverCount=c_ulong(10)
pDriverCount=byref(DriverCount)
print("Init: ",masterlib.yasdiMasterInitialize(ini_file,pDriverCount))

在 Python 2.7 中,C lib 调用工作正常,在 Python 3.5 中它返回不同的值。不幸的是我无法调试 C 库。这段小代码从 2.7 到 3.5 发生了什么变化?将参数移交给 C 库是否会发生变化? yasdiMasterInitialize 调用的参数为 char * cIniFileName, DWORD * pDriverCount)

最佳答案

谢谢指点!就是Python 3.5的Unicode变化!我现在只更改了一行:

ini_file="/home/pi/pyYASDI/yasdi.ini".encode('ascii')

关于c - Python 2.7 至 3.5 : What changed with ctypes?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59139972/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com