0%

Python 处理 C 语言结构

Python 可以高效率开发,但涉及到运算密集部分,还是应该交给 C/C++, 这里就涉及到数据交互的结构与格式问题

//todo 不够详细,例子不具体,内存布局与解析没讲明白

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import struct
from ctypes import *


class MyStruct(Structure):
_fields_ = [
("v1", c_char), # c_byte
("v2", c_char), # c_byte
("v1_dire", c_char), # c_byte
("v2_dire", c_char) # c_byte
]


mys = MyStruct()
mys.v1 = 20
print(type(mys.v1))
mys.v2 = 30
mys.v1_dire = 0
mys.v2_dire = 0
msg = struct.pack('cccc', mys.v1, mys.v2, mys.v1_dire, mys.v2_dire) # BBBB
print(msg)
ss = struct.unpack('cccc', msg) # BBBB