必威电竞|足球世界杯竞猜平台

DJGPP
來源:互聯網

DJGPP(DJ's GNU Programming Platform)是一個由DJ Delorie于1989年開始的項目,為英特爾 80386及以上級別的IBM PC兼容機提供支持DOS操作系統的軟件開發套件。DJGPP是GNU編譯器集合(GCC)的一個移植版本,可以用來在DOS操作系統下編譯生成32位保護模式的程序,主要是將GNU實用程序,如Bash、find、tar、ls、GAWK、sed和ld移植到DOS保護模式接口(DPMI)。支持的編程語言包括C、C++Objective-C/C++、Ada、Fortran和Pascal。DJGPP生成的編譯器可以在32位保護模式下生成32位代碼,并在32位保護模式下本機運行,同時切換回16位DOS調用以獲得基本操作系統支持。與Open Watcom C/C++編譯器不同,DJGPP并非從零開始的平面模型,因為它更喜歡使用NULL指針保護以獲得更好的穩定性。目前,DJGPP基于COFF格式的變體。當使用合適的DPMI主機(如CWSDPMI r7或HDPMI32)時,它可以在純DOS中訪問高達4 GB的RAM。

軟件介紹

DJGPP是GCC編譯器在DOS操作系統上的一個移植版本,

DJGPP的發起人是DJ Delorie,它是開源的,任何人都可以改進它,為它的發展作貢獻。大家就可以用它來編寫新的dos軟件來使DOS更加強大。

當程序由DJGPP編譯,并使用DJGPP的開發工具時,表面看起來象普通的DOS程序。它依賴于MS-DOS和BIOS實現文件I/O和其它基本功能例如鍵盤輸入,屏幕感應等。DJGPP適應的環境有:MS-DOS,Caldera's DR-DOS,FreeDOS,Windows 9x,NT,XP,OS/2,Linux DOSEmu.當DJGPP在Windows xp和Caldera's DR-DOS中運行時,它支持長文件名。

截至2020年8月,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系統下處理這些文件名,但它們無法使用Windows圖形程序所需的Win16或win32 API。支持在純DOS或Windows NT 4下使用LFN的terminate-and-stay-resident(TSR)程序也是可用的。

盡管DJGPP在32位保護模式下運行,但其存根和庫大量依賴于許多16位DOS和BIOS調用。由于x86-64版本的Windows不支持16位程序,因此沒有NTVDM,也無法運行DJGPP應用程序。在x86-64系統下,這些應用程序只能通過仿真(例如DOSBox)、x86虛擬化(例如VirtualBox)或類似方法(例如Linux的DOSEMU)來運行。這個問題的根源在于長模式下的x86-64處理器不支持IA-32處理器中用于運行16位代碼的虛擬8086模式。新的支持VT-x的x86處理器可以支持分頁的實模式和無限制的客戶模式執行。

功能與服務

學習C和C++和編程。

在DOS或WINDOWS環境中學習使用LINUX/unix編程。

寫 games3和圖形程序。

為UNIX和MS-DOS/MS-WINDOWS建立通用開發環境

寫可移植DOS/UNIX程序。

把UNIX程序移植到微軟操作系統。

DJGPP還可以用于編譯移植到MS-DOS中的C,C++之外其它語言,包括后端語言ADA,PASCAL和Fortran(可用于編寫并行計算程序)。GNU Pascal(gpc) 和GNU Fortran (g77)都可包含于DJGPP軟件包中。最新版GCC還包括前端語言如JAVA和CHILL。

參考資料 >

生活家百科家居網