Как скомпилировать c / c ++ в программы ms-dos .com?

Я использую Code :: Blocks с компилятором GNU GCC.
Мой вопрос: есть ли способ скомпилировать код c / c ++ в 16-битный (.com) исполняемый формат ms-dos?
Я пытался установить параметры сборки и искать параметры компилятора в сети, но ничего не смог найти.

-1

Решение

Вы, безусловно, можете скомпилировать C и / или (древний диалект) C ++ в 16-битный MS-DOS .com файл. Компилятор / компоновщик у вас с Code :: Blocks почти наверняка не может хотя сделай это.

В частности, по крайней мере, насколько мне известно, gcc никогда даже не пытался генерировать код для 16-битной среды с сегментированной памятью. Был как минимум один порт gcc для расширителя DOS (DJGPP, но он создает файлы .exe, а не .com и использует проприетарный DOS-расширитель вместе с древний версия gcc).

Если вам действительно нужно сгенерировать файл .com, есть довольно много вариантов, но все компиляторы довольно старые, поэтому, особенно в отношении C ++, язык, который они принимают, весьма ограничен.

Цепочки инструментов, предназначенные для (ed) MS-DOS.

Предостережение: как уже отмечалось, все это очень старый. Вообще говоря, C, который они принимают, достаточно совместим с C89, но только для довольно небольших программ (как с точки зрения кода, так и размера данных — по необходимости: файлы .com в основном ограничены общим объемом 64 КБ данных и кода). Различия между C ++, который они принимают, и тем, что даже близко к современному, намного глубже (например, некоторые не поддерживают шаблоны совсем). Все упоминания о соответствии здесь относятся к другим компиляторам того времени; по современным стандартам их соответствие ужасно одинаково.

  1. Microsoft: Компиляторы C ++ для MS-DOS продавались только в течение довольно короткого времени — они немного опоздали на рынок и перешли от него к компиляторам, которые довольно рано выпускали только 32-битные исполняемые файлы Windows. Известен скорее оптимизацией, чем соответствием языку.
  2. Borland: Зеркальное изображение Microsoft. Лучшее соответствие, более плохая оптимизация, вероятно, последнее, что оставило рынок MS-DOS. Их последние несколько компиляторов для MS-DOS даже поддерживали шаблоны C ++ (довольно новые в то время).
  3. Watcom: один из немногих, это до сих пор доступен как бесплатная загрузка, но без коммерческой поддержки. Когда это было новым, это вообще считалось одним из лучших доступных и для соответствия и для оптимизации.
  4. Metaware: довольно дорогой вариант в то время. Я никогда не использовал его, но некоторые люди, которых я уважал, считали это лучшим компилятором, который вы могли бы получить. В основном нацеленные встроенные системы.
  5. Datalight / Zortech / Symantec / Digital Mars: другой, который до сих пор официально доступны. Был маленький, но очень преданный последователь. Я пробовал это некоторое время, но так и не нашел веской причины предпочесть его другим.

Тогда их было еще немало, но на тот момент они, вероятно, составляли более 90% рынка.

3

Другие решения

То, что вы ищете, это exe2bin. Это была утилита, которая шла вместе с DOS для преобразования объектного кода формата .EXE в формат .COM (код и данные в одном сегменте 64K). Это пришло с DOS и некоторыми компиляторами / ассемблерами.

-1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector