как сделать кодирование в системах, где msdos - единственная операционная система [duplicate]

cd /path/to/your/folder
sed -i 's/foo/bar/g' *

Возникновение «foo» будет заменено на «bar».

-1
задан m.s. 15 October 2015 в 15:21
поделиться

2 ответа

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

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

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

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

Предостережение. Как уже отмечалось, все это very old. Вообще говоря, 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
ответ дан Jerry Coffin 21 August 2018 в 06:02
поделиться
  • 1
    Примечания. Watcom C / C ++ 10.0 поддерживает WinMem 32 для Wndows 3.1x как тип модели, один из единственных наборов инструментов для этого. Microsoft Visual C / C ++ 4.1 (32-разрядная версия) включала Visual C / C ++ 1.52 (16 бит), но не включала ассемблер (ML.EXE). Microsoft C / C ++ 8.x была последней из этой серии. Я не помню, был ли MASM (ML.EXE) 6.11 частью этого набора инструментов. Он также включал отладчик исходного кода исходного кода, рабочий стол программистов и быструю помощь. Чтобы создать файл .COM, вы обычно используете крошечную модель (или параметр / AT для masm). – rcgldr 15 October 2015 в 19:52

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

-1
ответ дан Jim 21 August 2018 в 06:02
поделиться
  • 1
    exe2bin не является необходимым (в большинстве случаев) и недостаточным для этой задачи. Это почти случайный шаг с небольшим количеством специальных цепей инструментов. – Jerry Coffin 15 October 2015 в 15:54
Другие вопросы по тегам:

Похожие вопросы: