@codecity

Протестировать .Net-приложение на big-endian системе -- где ее взять?

Собственно, хотелось бы проверить работоспособность моей .Net программы на архитектуре с big-endian порядком байт (т.е. где байты расположены «от старшего к младшему»).


Как оказалось, в .Net порядок байт в числе зависит от архитектуры процессора (в отличии от Java, где всегда работаешь с числом как будто оно little-endian, независимо от системы и процессора (Java-исты поправьте меня, если ошибаюсь)). Так что .Net программа, нормально работающая на системе с little-endian, может и не работать вовсе на системе с big-endian.


И такие вопросы в связи с этим:


1. На каких big-endian устройствах может работать .Net/Mono -платформа? Насколько я понимаю на PC big-endian уже не встретишь? Mobile/CE тоже вроде в little-endian. Что остается? X-box? Или и на X-box так-же little-endian? Тогда может MacOS + Mono?


2. Есть ли какая виртуальная машина, которая бы могла эмулировать big-endian процессор? Можно ли туда установить Windows?
  • Вопрос задан
  • 2440 просмотров
Решения вопроса 1
1. PowerPC и S390(X) — big-endian-архитектуры, под них существует немало Линуксов. Хотя не уверен, собирается ли под ними Моно.

2. С виртуалками туго. Я встречал симуляторы для PowerPC, S390 и S390X. С первым (названия не запомнил) у меня отношения не сложились, т.к. я так и не дождался завершения процесса обновления гентушного репозитория (Gentoo там идёт в комплекте в качестве основной системы) — трёх суток ему не хватило. Для S390/S390X использовал Hercules: там дела обстоят повеселее, даже удавалось сделать кое-что полезное, но настройка весьма сложная, в документации активно используется специфическая терминология без каких-либо пояснений, окно самой виртуалки — верх неудобства, скорость оставляет желать лучшего, а про какую-либо графическую среду в гостевой системе можно сразу забыть. Я не помню, поддерживает ли вообще Hercules графические режимы, но даже если поддерживает, тамошней сотни симулируемых килогерц для них явно будет маловато.

Естественно, ни на PPC, ни на S390 никакую винду не поставишь — её не существует в природе. Только никсовые системы.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
kekekeks
@kekekeks
Я не думаю, что вы вообще что-то такое встретите. Десктопы сейчас поголовно на little-endian, смартфоны тоже. Есть шанс где-нибудь раскопать железку с линуксом на MIPS-проце, зачем-то переключенном в big-endian режим, но не думаю, что это реалистичный вариант. Ну или поискать что-нибудь на SPARC. В общем, не забивайте себе голову, вы такие железки нигде не встретите.
Ответ написан
Комментировать
@fleshy
макось сейчас на интеле, тоже литл-эндиан
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы