ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
26 апреля
750406 Топик полностью
Ксения (18.04.2017 10:45 - 10:56, просмотров: 153) ответил Dingo на Ну как это нет? =>
Сигнатура MZ есть везде, только дальше у 32- и 64-разрядных идет PE-заголовок с данными, а у 16-разрядных на этом месте случайный мусор. Из-за этого даже Win7 иногда заглатывает некоторые 16-разрядные приложения, хотя должна их сразу выплевывать. И это потому, что в этом мусоре случайно оказались подходящие цифры на нужных местах. Собственно, сама моя проблема такова. Win7x32 заглатывает 16-разрядное приложение и очень долго на нем висит, но почему-то не абортирует его, а выходит на нормальное завершение. Само приложение, естественно, дела своего не делает, однако узнать об этом затруднительно. Тогда как Win7x64 абортирует такие приложения четко - в ней одна лишь попытка изменить сегментные регистры приводит к исключению. Всё это выяснилось после того, как ко мне обратились за консультацией, отчего только что купленный 8-ядерный "AMD FX-8320E Eight Processor 3.2 GHz" на Win7x32 считает в 100 раз (!!!) медленнее, чем старый Celeron на 1700 МГц на WinXP. И вот разборка полетов показала, что дело в одном из исполняемых модулей пакета, который оказался 16-битным. И теперь моя задача дать "блондинам" :) какое-то простое средство, чтобы они сами могли обнаруживать в своих приложениях устаревшие 16-разрядные приложения. А еще лучше, если бы оно разом сканировало все ЕXE-файлы в текущем директории на предмет выявления среди них 16-разрядных приложений. Тогда как поставить WinXP на свой новый компьютер они не могут - WinXP на него ставиться не хочет, а с переходом на Win7 сразу же возникло множество проблем с совместимостью. За помощь в этом деле мне обещали подарить один из новых компьютеров (хотя только системный блок). :)