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