DJGPP

維基百科,自由的百科全書
跳至導覽 跳至搜尋
DJGPP
File:Djgpp logo.svg
The DJGPP environment, utilizing GCC
The DJGPP environment, utilizing GCC
開發者DJ Delorie
目前版本
    Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
    原始碼庫
    • {{URL|example.com|可选的显示文本}}
    Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
    引擎
      Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
      作業系統DOS and Windows
      類型Compiler
      特許條款GNU GPL
      網站www.delorie.com/djgpp

      DJ的GNU編程平台DJGPP[1]Intel 80386及以上的一個軟件開發套件,支援DOS作業系統的IBM PC相容機 。它由DJ Delorie指導並於1989年開始這個專案。 它是GNU編譯器集合 (GCC)的一個移植 ,主要是GNU實用程式,如Bashfindtarls ,GAWKsedldDOS保護模式介面英語DOS Protected Mode Interface(DPMI)。 支援的語言套件括CC ++,Objective-C/ C ++,AdaFortranPascal。DJGPP在2004年被描述為過時產品。[2]

      編譯器生成32位元代碼,該代碼在32位元保護模式下本機執行,同時切換回16位元DOS呼叫以獲得基本作業系統支援。 但是,與Open Watcom C / C ++編譯器不同 ,其並非從零開始的平面模型,因為它更喜歡使用NULL指標保護以獲得更好的穩定性。 它目前基於COFF格式的變體。 當使用合適的DPMI主機(例如, CWSDPMI r7或HDPMI32)時,它可以在純DOS中訪問高達4 GB的RAM。

      相容性[編輯]

      DJGPP為程式設計師提供了一個與ANSI C和C99標準相容的介面,DOS API以及類似POSIX的舊環境。 編譯的二進制檔案是長檔名 (LFN)辨識的,預設情況下可以在大多數32位元Windows下處理這些名稱,但是它們不能使用Windows上的圖形程式所需的Win16或Win32 API。 [2] 終止和駐留 (TSR)程式來支援普通DOSWindows NT 4下的LFN。

      雖然DJGPP在32位元保護模式下執行 ,但它的存根和庫很大程度上依賴於許多16位元DOS和BIOS呼叫。 因為x86-64版本的Windows支援16位元程式, [3][4]沒有NTVDM ,並且無法執行DJGPP應用程式。 在x86-64系統下,這些應用程式僅通過仿真執行(例如 DOSBox ), x86虛擬化 (例如 VirtualBox )或類似的(例如 Linux的DOSEMU )。 出現此問題是因為在長模式 x86-64處理器不支援用於在IA-32處理器中執行16位元代碼的虛擬8086模式 。 帶有VT-x的較新的x86 CPU確實支援分頁真實模式和不受限制的訪客模式執行。

      參見[編輯]

      參考資料[編輯]

      1. ^ Eli Zaretskii. The DJGPP Project. Jul 1999 [20 Jul 2009]. (原始內容存檔於2019-05-08). 
      2. ^ 2.0 2.1 Wall, Kurt; Von Hagen, William. The Definitive Guide to GCC. Apress. 2004: 47–48 [2019-08-15]. (原始內容存檔於2017-03-30). Another popular, though aging, GCC-based development system is DJGPP, D.J.[sic] Delorie's free 32-bit development environment for DOS systems. 
      3. ^ Guide: What is DJGPP?. [November 22, 2015]. (原始內容存檔於2019-08-15). The target hardware platform for DJGPP programs is a PC platform ... running DOS ... or a DOS-compatible operating system DJGPP programs run under Windows' "dos prompt" boxes. 
      4. ^ Microsoft. List of limitations in 64-Bit Windows. Oct 2007 [18 May 2010]. (原始內容存檔於2015-01-16). 16-bit MS-DOS and Microsoft Windows 3.x utilities will not start. If you attempt to start such a program, you receive a "Program.exe is not a valid Win32 application" error message. 

      外部連結[編輯]