DJGPP
Разработчик(и) | диджей Делори |
---|---|
Стабильная версия | 2.05 / 3 ноября 2015 г [1] |
Репозиторий | |
Операционная система | DOS и 32-битная Windows |
Тип | Компилятор |
Лицензия | GNU GPL |
Веб-сайт | www |
Платформа программирования DJ GNU ( DJGPP ) [2] представляет собой пакет разработки программного обеспечения для уровня Intel 80386 и выше, совместимый с IBM PC и поддерживающий операционные системы DOS . Им руководит DJ Delorie, который начал проект в 1989 году. Это порт коллекции компиляторов GNU (GCC) и в основном утилит GNU, таких как Bash , find , tar , ls , G AWK , sed и ld , для DOS. Интерфейс защищенного режима (DPMI). Поддерживаемые языки включают C , C++ , Objective-C /C++, Ada , Fortran и Pascal .
Обзор
[ редактировать ]Компилятор генерирует 32-битный код, который изначально работает в 32-битном защищенном режиме с одновременным переключением обратно на 16-битные вызовы DOS для базовой поддержки ОС. Однако, в отличие от компилятора Open Watcom C/C++ , это не плоская модель с отсчетом от нуля, поскольку для большей стабильности предпочтение отдается защите NULL-указателя. В настоящее время он основан на варианте формата COFF . Он может получить доступ к 4 ГБ ОЗУ в чистом DOS при использовании подходящего хоста DPMI (например, CWSDPMI r7 или HDPMI32).
По состоянию на август 2020 г. [update]Основные компоненты DJGPP 2 включают в себя:
- Коллекция компиляторов GNU 9.3.0 (также доступна версия 10.2.0)
- Автоконф 2.5.9
- Автомейк 1.9.4
- Бинутилс 2.34
- ГНУ Баш 4.1.17
- GNU Bison 2.4.1, Flex 2.5.4
- ГНУ Эмакс 24.5
- GNU MPC 1.1.0, MPFR 4.1.0
Также возможно использовать DJGPP для кросс-компиляции программного обеспечения в DOS, например, в UNIX/Linux. Таким образом можно скомпилировать как библиотеки DJGPP, так и программы, скомпоновать их и затем развернуть на машинах с DOS или эмуляторами DOS.
Совместимость
[ редактировать ]DJGPP предоставляет программисту интерфейс, совместимый со стандартами ANSI C и C99 , API-интерфейсами DOS и более старой средой, подобной POSIX . Скомпилированные двоичные файлы поддерживают длинные имена файлов (LFN) и по умолчанию могут обрабатывать такие имена в большинстве 32-разрядных версий Windows, но они не могут использовать API-интерфейсы Win16 или Win32, необходимые графическим программам в Windows. [3] резидентные программы завершения и пребывания (TSR) для поддержки LFN под простой DOS или Windows NT 4 Доступны .
Хотя DJGPP работает в 32-битном защищенном режиме , его заглушка и библиотека сильно зависят от множества 16-битных вызовов DOS и BIOS. Поскольку x86-64 версии Windows не поддерживают 16-разрядные программы, [4] [5] отсутствует NTVDM , и приложения DJGPP не могут быть запущены. В системах x86-64 эти приложения функционируют только посредством эмуляции (например, DOSBox ), виртуализации x86 (например, VirtualBox ) или аналогичных методов (например, DOSEMU в Linux ). Эта проблема возникает из-за того, что процессоры x86-64 в длинном режиме не поддерживают виртуальный режим 8086, используемый для запуска 16-битного кода в процессорах IA-32. Более новые процессоры x86 с VT-x поддерживают страничный реальный режим и неограниченное выполнение в гостевом режиме.
См. также
[ редактировать ]- FreeDOS
- Сигвин
- EMX (среда программирования)
- ГнуВин32
- МинГВ
- Откройте компилятор Watcom C/C++.
- Аллегро
- Подсистема Windows для Linux
Ссылки
[ редактировать ]- ^ «Объявляем: выпущен DJGPP V2.05» . Группа новостей : comp.os.msdos.djgpp . 3 ноября 2015 г.
- ^ Эли Зарецкий (июль 1999 г.). «Проект DJGPP» . Проверено 20 июля 2009 г.
- ^ Уолл, Курт; Фон Хаген, Уильям (2004). Полное руководство по GCC . Апресс. стр. 47–48. ISBN 9781590591093 .
Другая популярная, хотя и устаревшая система разработки на основе GCC — DJGPP, бесплатная 32-битная среда разработки DJ[sic] Delorie для систем DOS.
- ^ «Гид: Что такое DJGPP?» . Проверено 22 ноября 2015 г.
Целевой аппаратной платформой для программ DJGPP является платформа ПК... под управлением DOS... или DOS-совместимая операционная система. Программы DJGPP запускаются под окнами "dos-подсказки" Windows.
- ^ Microsoft (11 октября 2007 г.). «Список ограничений в 64-битной Windows» . Архивировано из оригинала 20 апреля 2010 года . Проверено 20 апреля 2010 г.
Утилиты 16-разрядной версии MS-DOS и Microsoft Windows 3.x не запускаются. Если вы попытаетесь запустить такую программу, вы получите сообщение об ошибке «Program.exe не является допустимым приложением Win32».
Внешние ссылки
[ редактировать ]- Официальный сайт - оффлайн 2023, Зеркало