У меня есть строковый буфер: b = create_string_buffer(numb)
, где numb
- количество байтов.
В моей оболочке мне нужно разделить этот буфер.При вызове функции, которая ожидает POINTER(c_char)
, я могу сделать: myfunction(self, byref(b, offset))
, но в структуре:
class mystruct(Structure):
_fields_ = [("buf", POINTER(c_char))]
Я не могу сделать это, получая исключение типа аргумента.Поэтому мой вопрос: как я могу присвоить .buf
смещение в b.Прямое назначение работает так .buf = b
, однако это не подходит.(Python плохо справляется с ~ 32 000 таких буферов, создаваемых каждую секунду, поэтому я хочу использовать один буфер сращивания.)