Создать 16-битное приложение?

Я хочу создать 16-битное приложение Dos и хочу, чтобы оно запускалось с помощью NTVDM.exe на моем 32-битном компьютере с Windows 7. Как мне это сделать? Я в основном хочу, чтобы мое приложение выполняло операции с файлами через NTVDM, и для этого я думаю, что мне сначала понадобится 16-битное приложение. Есть ли другой способ?

  • Мне не нужен эмулятор, мне нужно создать 16-битное приложение

person WIN_SOM_LIV    schedule 11.12.2013    source источник


Ответы (2)


Пара бесплатных компиляторов C/C++, заявляющих о поддержке 16-разрядных систем (MS-DOS и Win16), — это компилятор Digital Mars. и компилятор Open Watcom.

Веб-страница Open Watcom в данный момент не отвечает... Однако есть страница загрузки SourceForge.

person Michael Burr    schedule 11.12.2013
comment
Помогите, пожалуйста. Я установил компилятор Digital Mars, а также библиотеки DOS 16 вместе с ним. Но он по-прежнему создает 32-битные приложения. Как мне поступить? - person WIN_SOM_LIV; 11.12.2013
comment
Здесь есть справочная страница командной строки: digitalmars.com/ctg/sc.html. думаю, вам нужно будет использовать что-то вроде опции -mt для создания файла DOS .com. Существуют и другие варианты для различных других моделей памяти DOS, которые создают перемещаемый 16-битный MZ файл формата .exe. Я не делал этого годами, поэтому я не уверен, насколько хорошо этот материал все еще работает, и вам, возможно, придется провести некоторые пробы, ошибки и исследования. И есть шанс, что он не сможет сделать то, что вам нужно. - person Michael Burr; 12.12.2013
comment
Спасибо. Это сработало. Мое приложение работает и отображается как процесс NTVDM в Windows 7 x86, как и ожидалось. - person WIN_SOM_LIV; 13.12.2013

Последним компилятором Microsoft Visual C++ для 16-разрядных версий был 1.52c, доступный в разделе «Загрузки для подписчиков MSDN».

Для бесплатных см. раздел Поиск 16-разрядного компилятора x86.

person Mark Tolonen    schedule 11.12.2013