很冒昧的打扰,希望不要很唐突~
问题是这样的,我需要定义一个数据类型的结构体,python代码如下:
class UNIOn(Union):
_fields_ = [('bitVal', c_ubyte),
('i1Val', c_int8),
('i2Val', c_int16),
('i4Val', c_int32),
('ui1Val', c_uint8),
('ui2Val', c_uint16),
('ui4Val', c_uint32)]
DataValue(Structure):
_anonymous_ = ('DataValue',)
_fields_=[('DataType',c_uint16),('DataValue',UNIOn)]
data_value = DataValue()
data_value.DataType = 4 #4是int32类型的
data_value.DataValue = 23
但是这样传到dll中的数据一直不对,能不能帮忙看看问题在哪了~
多谢!
关于python ctypes里 Union的问题
答案:2 悬赏:70 手机版
解决时间 2021-01-27 21:16
- 提问者网友:活着好累
- 2021-01-26 23:15
最佳答案
- 五星知识达人网友:深街酒徒
- 2021-01-27 00:49
DataValue(Structure):
_anonymous_ = ('DataValue',)
可能是写错了,改成:
class DataValue(Structure):
_anonymous_ = ('DataValue',)
data_value.DataValue = 23
这句报错吗?
换成:
data_value.i4Val = 32
试试
如果有问题,希望你把错误的原因(traceback)贴出来
_anonymous_ = ('DataValue',)
可能是写错了,改成:
class DataValue(Structure):
_anonymous_ = ('DataValue',)
data_value.DataValue = 23
这句报错吗?
换成:
data_value.i4Val = 32
试试
如果有问题,希望你把错误的原因(traceback)贴出来
全部回答
- 1楼网友:掌灯师
- 2021-01-27 02:27
亲!缩进呢! 这真心不好猜啊
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯