LINUX.ORG.RU
ФорумTalks

Собрал первую программу под DOS :)

 , , , ,


0

0

Всё началось с этой темы: Debian 2.0 (комментарий)

После своего коммента, я осознал, что никогда в жизни не писал под DOS, и даже не знаю есть ли сейчас что живое под эту платформу.

Оказывается ещё живо :) FreeDOS 1.2 - 25 декабря 2016, ну и DOSBox жив.

И даже есть несколько живых компиляторов.

1) https://github.com/open-watcom/open-watcom-v2

Очень приятно, что ребята которые его пилят, запилили Coverity Scan и Travis. Можно скачать самый новый компилятор https://github.com/open-watcom/travis-ci-ow-builds/archive/master.zip собранный под windows и linux сразу.

Огорчает лишь поддержка стандартов, частично С99 и очень частично C++11, но зато я понял, почему кто-нибудь может начать писать на С89 в 2019 году, всё-таки не все живые компиляторы осилили С99...

2) http://www.delorie.com/djgpp/ Самый настоящий gcc под DOS. Не смотря на неинформативный сайт, с очень скудной помощью: https://imgur.com/a/e5mWNN5 gcc работает. Библиотека С реализована частично, в частности нет файла complex.h, может ещё чего-нибудь нет. Но в целом работает, и не только С, но и С++ и, наверное, другие языки gcc.

И так выглядит моя первая программа под DOS: https://imgur.com/a/qEN79yP

Не знаю зачем я это написал, просто захотелось кому-нибудь рассказать...

А Linux, тут вот причём, компилятор работает под Linux:

i586-pc-msdosdjgpp-gcc -v
Using built-in specs.
COLLECT_GCC=i586-pc-msdosdjgpp-gcc
COLLECT_LTO_WRAPPER=/usr/local/djgpp/libexec/gcc/i586-pc-msdosdjgpp/8.2.0/lto-wrapper
Target: i586-pc-msdosdjgpp
Configured with: ../gnu/gcc-8.20/configure --target=i586-pc-msdosdjgpp --program-prefix=i586-pc-msdosdjgpp- --prefix=/usr/local/djgpp --disable-nls --disable-plugin --disable-lto --enable-lto --enable-libstdcxx-filesystem-ts --enable-libquadmath-support --with-gmp=/home/fsb4000/github/build-djgpp/build/djcross-gcc-8.2.0/tmpinst --with-mpfr=/home/fsb4000/github/build-djgpp/build/djcross-gcc-8.2.0/tmpinst --with-mpc=/home/fsb4000/github/build-djgpp/build/djcross-gcc-8.2.0/tmpinst --enable-version-specific-runtime-libs --enable-languages=c,c++
Thread model: single
gcc version 8.2.0 (GCC) 

★★★★★

Можно много что собирать, но настоящий DOS начинается с QBasic'а. В те времена в каждой железяке в первую очередь был именно Basic.

saahriktu ★★★★★
()

Я впервые под DOS накропал что-то на NASM, вроде цветастый хелловорлд. Писал прямо в DOS в VIM. Это был единственный раз, когда я прикоснулся к языку ассемблера.

Thetan ★★★
()
Ответ на: комментарий от saahriktu

Я бы всё-таки сказал, что с Turbo Pascal или Borland Turbo C++, учитывая как активно они форсились в российских учебных заведениях.

EXL ★★★★★
()
Ответ на: комментарий от EXL

Мало ли что там в учебных заведениях. Pascal, C и C++ - это более мощные и более современные языки, которые развивались все эти годы и продолжают развиваться. И в школах в 90-е QBasic очень даже преподавали, начиная именно с него. При том, что в 1992-м году уже был Visual Basic (в т.ч. и под DOS), и начинался плавный переход к Win 9x c Delphi (1995-й год) и C++ Builder'ом (1997-й год).

А в годы наиболее активной жизни MS DOS'а активно форсился именно Basic. Вплоть до таких калькуляторов как МК-85. За исключением разве что, например, БК-0010/0011, где дефолтнее был Фокал.

saahriktu ★★★★★
()

Эх, молодо-зелено! Да, со стандартами там туго, но Borland C++ 3.1 - IDE под DOS. А если накатить Windows 3.11, что не ОС, а лишь оболочка - то и Delphi 1 там есть, и Borland C++ в графике. Кстати, до недавнего времени прямой доступ к винчестеру вполне актуально было делать из-под DOS.

tiinn ★★★★★
()
Ответ на: комментарий от tiinn

Была или не была W3.11 операционной системой — зависит только от определения операционной системы. Да, она не имела своего ядра и пользовалась ядром DOS, но с Windows 3.11 в комплекте шёл набор софта, у неё были свои собственные API и разработчики пользовались ими, выпуская тонны софта под эту платформу. В чём такое принципиальное отличие Windows 95 от Windows 3.11, кроме 32 бит?

CYB3R ★★★★★
()
Ответ на: комментарий от CYB3R

Но это были неполноценные 32 бита, под них шло ограниченное число виндовых приложений. Всё-таки, в Win 95 было новое API

tiinn ★★★★★
()
Ответ на: комментарий от DawnCaster

Почти идеальная среда для обучения младших, кстати. Редактор, дебаггер, компилятор, всё проинтегрировано, летает даже на бюджетных компах того времени и совсем не требует настройки. Мышь не требуется - для всего есть хоткей, нас в школе факультативный препод карал за протянутую к мыше руку. Где такое сейчас найдёшь? Не будешь же пятиклассникам емакс сразу давать.

snizovtsev ★★★★★
()
Последнее исправление: snizovtsev (всего исправлений: 1)
Ответ на: комментарий от CYB3R

в комплекте шёл набор софта, у неё были свои собственные API и разработчики пользовались ими, выпуская тонны софта под эту платформу

Ты сейчас описал тулкит/DE. Например Qt/KDE.

no-such-file ★★★★★
()
Ответ на: комментарий от saahriktu

А в годы наиболее активной жизни MS DOS'а активно форсился именно Basic

Ну ещё бы. При отсутствии нормального шелла, бейсик был единственным вариантом что-то заскриптовать.

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

Любая IDE?

Тормозное гуано с мышевозным интерфейсом, тонной bloatware, ориентацией на большие проекты, а не мелкие задачки на 1 файл как у школьников. И всё равно нужно настраивать.

snizovtsev ★★★★★
()
Ответ на: комментарий от CYB3R

И по-твоему, если нет реестра, то операционной системой называть нельзя?

Я не говорил такого. Я про отличия. И это ущербство из Win 3.11 - ни разу не замена реестра.

tiinn ★★★★★
()
Последнее исправление: tiinn (всего исправлений: 1)
Ответ на: комментарий от Serg_HIS

Если уже так подходить к Win95-98, то это тоже надстройки над DOS.

В общем-то... да.

tiinn ★★★★★
()
Ответ на: комментарий от DawnCaster

Настоящие мужики пишут под DOS на TurboPascal'е

Я прямо мужиком опять побыл весной прошлого года. Поднял свой древний курсовик по программингу «Игру в шашки» и таки исправил пару жёстких багов в них. Теперь они стали даже уметь играть. :)

Дрючил на онлайн шашечных сайтах, потом пару дней, всяких с высокими рейтингами. Для теста конечно же. Хотя удовольствие тоже получал.

Serg_HIS
()
Ответ на: комментарий от Serg_HIS

Поднял свой древний курсовик по программингу «Игру в шашки»

Оно у тебя в графике или в текстовом режиме?

tiinn ★★★★★
()
Ответ на: комментарий от tiinn

в текстовом режиме но выглядит достойно. могу прислать видео из дос бокса. Да и саму прогу могу и подсакзать оптимальные настройки досбокса.

Serg_HIS
()
Ответ на: комментарий от Serg_HIS

Да и саму прогу могу и подсакзать оптимальные настройки досбокса.

Присылай. А DOS у меня на кухонном компе в нативном виде есть

tiinn ★★★★★
()
Ответ на: комментарий от Quasar

TurboPascal был тем же самым по меркам DOS.

4.2. Паскаль летал на 80х286, в отличие от Borland C++ 3.1. И с программами из одного файла работал лучше, чем из нескольких.

tiinn ★★★★★
()
Ответ на: комментарий от Serg_HIS

Не так уж и много там было дополнительных тулзов. Грузился он моментально, и компилировал очень быстро, даже на 80х286.

tiinn ★★★★★
()
Ответ на: комментарий от tiinn

ну то что он был шустрый - это не отменяет, что по сути он был ИДЕ.

Serg_HIS
()
Ответ на: комментарий от tiinn

Собственно первая версия была написана в 1996 году рабочая, но без мышки и ходы нужно было вводить с клавиатуры. В 2000 ради развлекухи запилил «мега интерфейс» :).

Serg_HIS
()
Ответ на: комментарий от tiinn

наверное потому что залочены у нас ресурсы… сейчас через проксю полезу.

Serg_HIS
()
Ответ на: комментарий от tiinn

Пришло?

С дамками оно жутко долго думать будет на больших уровнях. Я это позже многопоточностью и переделками некоторыми победю. :)

Serg_HIS
()
Ответ на: комментарий от fsb4000

Я в 2000-м году практически юзал CP/M на Profi в версии с оболочкой наподобие Norton Commander'а. Каждый раз загружался с 5" дискет.

saahriktu ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.