Несколько лет назад я создал программу с использованием TurboC IDE, и эта программа также может быть запущена с использованием DOSbox. Теперь, когда я попытался запустить любую программу, которая была составлена с использованием GCC в DOSbox, это сообщение пришло:Почему программы, скомпилированные с использованием GCC, не запускаются с использованием DOSbox, в то время как файлы, скомпилированные с использованием Borland (Turbo C), могут?
Эта программа не может быть запущена в режиме DOS
Так что мой вопрос, почему не можно запускать программы, скомпилированные с использованием GCC в DOSbox, в то время как скомпилированные из TurboC?
PS: Причина, по которой я хочу запустить их в DOSbox, заключается в том, что я хочу запускать эти программы на своем телефоне (который установлен DOSbox).
Возможно, они, по умолчанию, скомпилированы с помощью консоли Windows или 32/64-разрядной исполняемой заглушки. Проверьте цели компиляции для 'gcc'. (Но я серьезно сомневаюсь, что «MS DOS» по-прежнему доступен.) – usr2564301
Вам нужен кросс-компилятор DOS. Вы не можете скомпилировать свою программу на хост-системе и ожидать, что она будет запущена на другой полностью несвязанной системе. В качестве альтернативы, скомпилируйте программу непосредственно в DOSBox, хотя это звучит как больше проблем, чем того стоит. –
@remyabel, разве вы не можете ожидать этого, если бы вы написали свой код в соответствии со стандартом, избегая каких-либо расширений? – ChiefTwoPencils