В тех программах, которые я пишу (работающих с необработанными файлами данных), мне часто нужны функции для преобразования между прямым и обратным порядком байтов. Обычно я пишу их сам (об этом рассказывается во многих других постах здесь), но я не очень хочу этого делать по ряду причин, главная из которых — отсутствие тестирования. На самом деле я не хочу тратить целую вечность на тестирование своего кода в эмуляторе с обратным порядком байтов и часто просто опускаю код для машин с обратным порядком байтов. Я также предпочел бы использовать более быстрые функции, предоставляемые различными компиляторами, сохраняя при этом кроссплатформенность своих программ.
Единственное, что я могу найти, это вызовы сокетов, такие как htons(), но они требуют разных файлов #include на каждой платформе и некоторого кода GPL подобно этому, однако в этом конкретном файле, несмотря на его полноту, отсутствуют некоторые высокопроизводительные функции, предоставляемые некоторыми компиляторами. .
Итак, кто-нибудь знает библиотеку (в идеале просто файл .h), которая хорошо протестирована и предоставляет стандартный набор функций для работы с порядком байтов во многих компиляторах и платформах?