Переносимые двоичные примитивы сериализации
Насколько я знаю, библиотека C не помогает в сериализации числовых значений в нетекстовый поток байтов. Поправь меня, если я ошибаюсь.
Самый стандартный используемый инструментhtonl
и др. из POSIX. Эти функции имеют недостатки:
Интерфейс для сериализации произвольного размераchar
8-битные стандартные байты попадают между стандартом C, который действительно не признает 8-битные байты, и любые стандарты (ITU?) устанавливают октет в качестве основной единицы передачи. Но старые стандарты не пересматриваются.
Теперь, когда C11 имеет много дополнительных компонентов, можно добавить двоичное расширение сериализации наряду с такими вещами, как потоки, не предъявляя требований к существующим реализациям.
Будет ли такое расширение полезным или беспокоиться о машинах, не являющихся двумя дополнительными, просто бессмысленно?