Цитата:
А на реальной машине так вообще беда оказывается. Вот вам и виртуалки. Пару месяцев на железе не запускал своего творчества.
Уже сталкивался с этим. Поэтому после реализации каждого небольшого компонента тестирую на реальном железе.
Цитата:
И главное везде разные проблемы! На железе одни проблемы, на VmWare другие проблемы, на Qemu - третьи. Ужас!
Логично же: реальный комп - это зоопарк железа различных производителей, объединенных спецификацией. Железо виртуалки (VmWare) - это система программ, в которой могут быть баги. Ну а куему - это вообще эмулятор, то есть 1) всё строго последовательно и крайне нерасторопно и 2) баги могут быть даже в исполнении команд (как в случае с переключением TSS, о чем писал тут DjPhoenix).
Моя реализация SMP, например, первое время работала только в QEMU, потому что он только эмулировал несколько ядер, а на самом деле код все равно выполнялся последовательно. На виртуалке и компе не работало.
Потом был баг с чтением через IDE, когда на куему и виртуалке все было хорошо, а на ноутбуке если во время чтения приходило прерывание клавиатуры (именно клавиатуры, не любое) - все вешалось (этот баг я кстати так и не исправил, поскольку чтение IDE я делал только как пробу пера, в последствии у меня будет нормальная драйверная модель и даже не будет драйвера работы с этим древним убожеством).
Так что это как раз нормальное явление.
Yoda писал(а):
Процесс разработки я делаю в два клика. Первый командный файл запускает компиляцию (на самом деле настраивает переменные среды и запускает программу nmake от мелкософта, которой в параметрах указывается make-файл и цель, если есть), в результате чего создаётся образ HDD.
Интересно, как это сделано (создание HDD). Я не придумал ничего лучше, чем в начале бинарника сделать сигнатурку, один раз скинуть на диск вари (.vmdk) бинарник заведомо большего чем реальный размера, а потом прогой находить сигнатуру в файле .vmdk и вписывать туда новый откомпилированный бинарник.