Re: [問題] ctypes nested struct 宣告?!
※ 引述《smallyuyuyu ()》之銘言:
: 各位大大好,小弟我這邊有一個 C 的結構
: typedef union _LARGE_INTEGER{
: struct {
: DWORD LowPart;
: LONG HighPart;
: };
: LONGLONG QuadPart;
: }LARGE_INTEGER;
: 在 C 裡面
: 可以直接存取所有欄位
: LARGE_INERGER li;
: li.LowPart;
: li.HighPart;
: li.QuadPart;
: --------------------------------------------
: 現在
: 希望可以用在 python 上,用 ctypes 去模擬出這樣的結構
: 同時可以去模擬以上三種存取方式
: 無奈小弟一直試不出來...
: 有人對這方面了解嗎? 謝謝!
In ctypes,Structure/Union 有 anonymous field 功能(可以說它完全就是為你
想要的這種應用而生)。
class _U(Structure):
_fields_ = [
('LowPart', DWORD),
('HighPart', LONG),
]
class _LARGE_INTEGER(Union):
_fields_ = [
('_u', _U),
('QuadPart', LONGLONG),
]
_anonymous_ = ('_u',)
n = _LARGE_INTEGER()
### then you can access n.LowPart, n.HighPart, n.QuadPart
細節請參閱:
http://docs.python.org/release/2.6.6/library/ctypes.html#structured-data-types
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.166.238.65
推
05/05 16:45, , 1F
05/05 16:45, 1F
→
05/10 22:54, , 2F
05/10 22:54, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):