Я искал во всем Google для этого, но так и не получил четкого ответа ..
Я пытаюсь написать простое приложение hello world и заставить его работать под msdos (который я буду устанавливать на старой установке, лежащей здесь).
Но обо всем по порядку, я пытался скомпилировать обычное консольное приложение и поместить его в dosbox, чтобы проверить, что не работает, просто говорит, что оно недействительно. Поэтому я предполагаю, что мне нужно что-то еще, чтобы скомпилировать это. Означает ли это, что я обязан создавать свой код в среде msdos? Даже если это так, я понятия не имею, как это сделать, своего рода манекен MSDOS ..
Если кто-то может пролить свет на мой случай, я был бы очень благодарен!
П.С .: Я использую 64-битную систему
Вы можете использовать бесплатный DJGPP Компилятор для DOS.
А также вот документация по использованию DJGPP.
Я предполагаю, что вы имеете в виду настоящую DOS, а не командную строку, работающую в Windows.
DOS — это 16-разрядная ОС, поэтому вам понадобится компилятор, способный генерировать 16-разрядный двоичный файл. Консольное приложение Windows является 32-разрядным, поэтому оно не будет работать под DOS. Вам не нужно создавать свой код в среде DOS, вам просто нужен правильный компилятор.
Что касается компиляторов, вы можете проверить OpenWatcom.
Microsoft Visual C ++ 1.52 — единственная доступная версия Microsoft
Компилятор C ++, который поддерживает компиляцию 16-битного кода.
Вам нужно найти старый компилятор, который будет генерировать 16-битные COM-файлы.
Может ли это быть в 64-битной системе? ..
Да, 64-битная Windows не может выполнить 16-битную программу. Если вы устанавливаете виртуальный ПК с MS-DOS или 32-битной системой Windows, виртуальный ПК сможет выполнять 16-битную программу.
Вам нужно отредактировать свой вопрос, чтобы сказать, что вы используете 64-битную Windows?
Похоже, вы компилируете консольное приложение в современной версии Windows и пытаетесь просто скопировать его в старую версию DOS. Проблема в том, что DOS несовместим с форвардами. Вы не можете запустить программу, скомпилированную с Windows 7 в версиях DOS, предшествующих Windows. Самое простое решение — это скомпилировать ваши программы на самой коробке DOS. В качестве альтернативы, если вы хотите разрабатывать на более новой машине, вам нужен кросс-компилятор, который ориентирован на ОС, где вы хотите запустить свою программу.