Кіріспе

DOS жүйесі үшін GNU құралдар жинағын енгізу

DJ-дің GNU бағдарламалау платформасы (DJGPP) – Intel 80386 деңгейінен жоғары және IBM PC үйлесімді компьютерлерде DOS операциялық жүйелерін қолдайтын бағдарламалық жасақтама жиынтығы. Жоба 1989 жылы DJ Delorie бастамасымен құрылған және оны ол басқарады. Бұл GNU Compiler Collection (GCC) және Bash, find, tar, ls, GAWK, sed және ld сияқты GNU құралдарының DOS қорғалған режим интерфейсіне (DPMI) порты болып табылады. Қолдау көрсетілетін тілдер: C, C++, Objective C/C++, Ada, Fortran және Pascal.

Бір-біріне үйлесімділік

DJGPP бағдарламашыға ANSI C және C99 стандарттарымен, DOS API-мен және POSIX сияқты ескі ортамен үйлесімді интерфейс ұсынады. Компиляцияланған екілік файлдар ұзын файл атауларын (LFN) қолдайды және әдетте көптеген 32 биттік Windows жүйелерінде оларды басқара алады, бірақ Windows-тағы графикалық бағдарламаларға қажетті Win16 немесе Win32 API-лерін пайдалана алмайды. DOS немесе Windows NT 4 жүйесінде LFN-ді қолдау үшін тұрақты түрде жүретін (TSR) бағдарламалар бар. DJGPP 32 биттік қорғалған режимде жұмыс істесе де, оның бастауыш коды мен кітапханасы көптеген 16 биттік DOS және BIOS шақыруларына сүйенеді. Windows-тың x86-64 нұсқалары 16 биттік бағдарламаларды қолдамайтындықтан, NTVDM болмайды және DJGPP қолданбаларын іске қосуға болмайды. x86-64 жүйелерінде бұл қолданбалар эмуляция (мысалы, DOSBox), x86 виртуализациясы (мысалы, VirtualBox) немесе осыған ұқсас (мысалы, Linux-тағы DOSEMU) арқылы ғана жұмыс істейді. Бұл мәселе x86-64 процессорларының ұзақ режимде IA-32 процессорларында 16 биттік кодты іске қосу үшін қолданылатын виртуалды 8086 режимін қолдамайтындығынан туындайды. VT-x технологиясы бар жаңа x86 процессорлары беттелген нақты режимді және шектеусіз қонақ режимін қолдайды.