gamedev Tutorials Программирование игр

Где взять?

Вы знаете, на чем написан QUAKE v1? Сей добрый продукт был изваян в среде DOS посредством DJGPP. А почему бы и Вам не попробывать сей компилер! Тем более, что он абсолютно бесплатный и не хуже Watcom! Поддерживает FLAT модель памяти для DOS (32 bit, DPMI )! Кроме этого, есть отличная интегрированая среда RHIDE! Она почти полностью повторяет Borland C++! Кроме этого, с версии 2.03 поддерживается стандарт ANSI C++! И является официальным портом GCC для MsDOS! Вообщем, рулез! Ну, что и еще надо русскому программисту! Разве что данная страничка! J

Полностью весь DJGPP есть на CD "Примочки для программистов" ( там целиком ftp X2! ). Но версия уже старая, новую придется брать из интернет. Поэтому для начала работы прокачайте с одного из серверов:

http://www.delorie.com/djgpp/getting.html

следующие файлы ( это будет что-то около 20Mb ) из каталога current/ :

v2/readme.1st Краткое описание для начала продуктивной работы
v2/install.exe Программы для инсталляции DJGPP
v2/djdev203.zip DJGPP V2.03 основной набор файлов
v2/faq230b.zip Полный FAQ лист в различных форматах (Info, ASCII, HTML...)
v2gnu/gcc342b.zip Компилятор языка Си GCC версия 3.4.2.
v2gnu/bnu215b.zip Утилиты GNU версии 2.15
v2gnu/txi47b.zip Программа для работы с файлами справки версия 4.7
v2gnu/mak3791b.zip Утилита Make версии 3.79.1
v2gnu/gpp342b.zip Компилятор C++ версии 3.4.2


Как правило имя файла состоит из трех частей: 1. имя пакета, 2. версия пакета, 3.тип пакета (s-исходный код, b-двоичные файлы). Например, gpp342b: 1. gpp - имя пакета, 342 - версия, b - двоичные файлы, т.е. программы. Берите наиболее свежие версии пакетов, а не те которые указаны здесь, так как компилятор пока развивается (плюнем дружно через левое плечо три раза J)!


Вообще-то существует значительно больше пакетов, но те которые я перечислил необходимый минимум!


Кроме этого можно прихватить ряд полезных примочек:

RHIDE Интегрированная среда разработки в Borland C++ стиле.
Allegro Бесплатная графическая/звуковая библиотека Allegro с исходниками. Там есть все что надо и даже больше. Кроме этого, есть куча дополнений к ней, и версии для нескольких операционок.
    v2/djlsr203.zip      DJGPP V2.03 Base Library Sources - исходники основной библиотеки DJGPP


Для дополнительных поисков можно посетить следующие сайты:

DJGPP and related Links page

Allegro WebRing

DJ GPP WebRing

The official DJGPP homepage

DJGPP beginner's kit

News - comp.os.msdos.djgpp

 

Установка

Если Вы будете использовать DJGPP в чистом MsDOS, то необходимо создать директорию (лучше всего C:\DJGPP ), и разархивировать все скачанные файлы из этой директории (воспользуйтесь PKUNZIP, не забудьте про опцию -d, чтобы не пропали директории). Если Вы используете DJGPP и в Windows и в MsDOS, то так как в некоторых архивах имеются файлы с длинными именами, то чтобы компилятор их понимал из "чистого" MsDOS необходимо установить обрезание имен файлов для DOS, чтобы Windows не делал имена файлов со знаком "~" ( и конечно же надо их разархивировать в Windows с помощью WinZip). Эту процедуру делает утилита lbinstdj.exe из архива install.exe. Можно воспользоваться файлом nonumtl.reg. Это нужно делать до разархивирования файлов.

После этого сделайте вставку в autoexec.bat: SET DJGPP=C:\DJGPP\DJGPP.ENV, и добавьте в переменную пути: C:\DJGPP\BIN.

После этого перезагрузитесь и запустите go32-v2.exe что бы убедиться, что DJGPP совместим с вашим менеджером DPMI. Если у вас его нет, то необходимо использовать CWSDPMI.EXE (он находится в DJGPP\BIN.) Запустите RHIDE, набрав RHIDE. И наслаждайтесь привычным интерфейсом!

Работа

DJGPP мало отличается от Borland C++. Почти все функции совпадают. Единственное существенное отличие FLAT модель памяти. В FAQ содержится все тонкие места для быстрого и без болезненого перехода из под Large во FLAT. Я сделал ряд переводов тех мест, которые наиболее отличаются от работы в REAL. Они находятся здесь . А доступность исходников библиотек спасает от многих неясностей!


PMG   25 Октября 2004   (c)   Sergey Anisimov