Могу ли я преобразовать 16-разрядную программу.exe в 64-разрядную версию.exe?

Я понимаю, что для такой задачи, скорее всего, не будет специальных программ-конвертеров или чего-то подобного, но мне необходимо найти способ запустить 16-битную программу в 64-битной Windows. Из-за большого количества ресурсов, которые должны быть им выделены, эмуляторы не будут хорошим решением.

Идея этого проекта заключалась в том, чтобы декомпилировать весь код из 16-битной программы, скопировать его и заново скомпилировать в 64-битный код. Это вообще возможно при использовании Eclipse или другой среды программирования?

По сути, я хочу, чтобы 16-битная программа работала в 64-битной Windows без эмуляторов. Я понимаю, что это высокий заказ, но возможно ли это?

2 ответа

Решение

Проблема выходит за рамки перевода 16-битных инструкций с помощью 64-битных инструкций. Существует также ABI (Application Binary Interface), используемый программой для связи с остальной частью системы. 16-битная программа, вероятно, использует много вызовов DOS, и не исключено, что она также пытается напрямую получить доступ к оборудованию. Нет никакого способа, которым это может быть переведено автоматически. Даже если бы такое решение существовало, я сильно сомневаюсь, что результат будет более эффективным, чем работа на виртуальной машине (что на самом деле очень эффективно). Более того, программы, написанные для 16-битной среды, часто не очень масштабируемы и совершенно не способны обрабатывать объемы данных, превышающие возможности исходной целевой платформы.

Поэтому я бы сказал, что на самом деле есть только два реалистичных решения: запустить его на виртуальной машине. Или, если это не поможет, напишите новое приложение с нуля, которое делает то же самое.

Даже если это очень старый вопрос, но я подумал, что напишу это решение для всех, кто все еще ищет:

Используя что-то вроде winevdm - очень легкую программу для Windows - вы можете запустить 16-bit Windows (Windows 1.x, 2.x, 3.0, 3.1, etc.) on 64-bit Windows приложения очень легко!

Другие вопросы по тегам