Я пишу драйвер файловой системы userpace в Windows, и конверсии endianness - это то, с чем я столкнулся, поскольку эта конкретная файловая система всегда хранит значения в формате little-endian, и ожидается, что драйвер их конвертирует (при необходимости) для на котором он работает. Тем не менее, я задаюсь вопросом, нужно ли мне даже беспокоиться о конверсиях endianness, поскольку, насколько я могу судить, настольные Windows поддерживают только мини-архитектуры (IA32, x86-84 и т.д.), И поэтому на диске мало-дневные значения отлично подходят для преобразования. Является ли это наблюдение точным, и если да, то вообще приемлемо ли предположить, что Windows всегда будет работать на малоэтажном оборудовании? Кроме того, возможно ли вообще (в 2011 году) запустить Windows на эмуляторе большого типа или что-то в этом роде, чтобы можно было даже проверить проблемы с контентом?
Изменить: Для дополнительной ясности, как мой код работает в настоящий момент, я проверяю проверку подлинности во время запуска, а затем каждый раз, когда я загружаю значение с диска, я запускаю его через встроенный функция, использующая внутреннее значение, чтобы изменить endianness, если архитектура является big-endian. Проблема в том, что я не знаю, мог ли я пропустить один или несколько из тех мест, где мне нужно было сделать конверсию, и самый простой способ проверить, не запутался ли я в том, чтобы запустить программу по архитектуре большого конца. Поэтому мне интересно знать (a), если это необходимо для выполнения этих проверок, поскольку Windows обычно не запускается на платформах с маленькими терминами (сегодня все равно) и (b), как я мог бы проверить свой код, поскольку, поскольку я не могу придумать способ запуска Windows в архитектуре большого конца и ручное изменение все, многобайтовые значения на диске по-прежнему связаны с ручной процесс, который я вполне мог бы испортить.