Индекс форумов |
Исходное сообщение |
---|
"Вторая редакция патчей для ядра Linux с поддержкой языка Rus..." Отправлено Ordu, 06-Июл-21 03:20 |
А, и да. Если __attribute__((packed)), то repr(C) будет мало, надо repr(C,packed). Хотя я б рекомендовал взгуглить на тему крейтов, заточенных под описание бинарных данных -- я навскидку не помню, но там было что-то, позволяющее чётко описывать бинарное представление каждого поля, что в целом даёт более полноценное решение, нежели C'шные структуры. Например, ты можешь после mmap'а файла, прозрачно работать с big-endian данными, даже если не знаешь, на машине с каким endianness'ом будет запускаться твой код. Это, понятно, можно применять и для ffi, чтобы описывать произвольные C'шные структуры в памяти, и работать потом с ними in-place. |
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования. |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |