DJGPP

✍ dations ◷ 2025-10-19 19:56:03 #自由集成开发环境,自由编译器与直译器,C编译器,1989年软件

DJ的GNU编程平台 ( DJGPP ) 是Intel 80386及以上的一个软件开发套件,支持DOS操作系统的IBM PC兼容机 。它由DJ Delorie指导并于1989年开始这个项目。 它是GNU编译器集合 (GCC)的一个移植 ,主要是GNU实用程序,如Bash ,find ,tar ,ls ,GAWK ,sed和ld到DOS保护模式界面(英语:DOS Protected Mode Interface)(DPMI)。 支持的语言包括C ,C ++,Objective-C/ C ++,Ada,Fortran和Pascal。DJGPP在2004年被描述为过时产品。

编译器生成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。 终止和驻留 (TSR)程序来支持普通DOS或Windows NT 4下的LFN。

虽然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 CPU确实支持分页实模式和不受限制的访客模式执行。

相关

  • β详见细菌分类表β-变形菌网(学名:Betaproteobacteria)是变形菌门中的一纲,与γ-变形菌关系最近。医学导航:病菌细菌(分类)gr+f/gr+a(t)/gr-p(c/gr-o药物(J1p、w、n、m、疫苗)
  • 台伯河台伯河 (拉丁语:Tiberis,意大利语:Tevere,英语:Tiber),又名特韦雷河,位于意大利中部,全长406公里,是该国第三长的河流。台伯河的源头是亚平宁山脉的富默奥洛山西坡,流入艾米利亚-罗马涅
  • 陶器,古称瓦,是用黏土或陶土经捏制成形后烧制而成的器具。陶器历史悠久,在新石器时代就已初见简单粗糙的陶器。陶器在古代作为一种生活用品,在现在一般作为工艺品收藏。目前已知
  • 沙勒姆·亚拉克姆沙勒姆·亚拉克姆(意第绪语:שלום־עליכם‎, 俄语和乌克兰语:Шолом-Алейхем,1859年3月2日-1916年5月13日),又译肖洛姆-阿莱汉姆,原名Solomon Naumovich Rabinovi
  • 木星特洛伊特洛伊群小行星是与木星共用轨道,一起绕着太阳运行的一大群小行星。从固定在木星上的座标系统来看,他们是在所谓的拉格朗日点中稳定的两个点,分别位于木星轨道前方(L4)和后方(L5)60
  • 岛屿湾岛屿湾(英语:Bay of Isles)是位于南佐治亚的海湾,宽14公里,在1775年由詹姆斯·库克率领的英国探险队发现。此湾因附近有多座岛屿而得名。坐标:54°2′S 37°20′W / 54.033°S 37.
  • 海南四大才子海南四大才子:是海南的四个才子。多为明清时期之才子。
  • 马努耶尔·别尔别良马努耶尔·别尔别良(波斯语:مانوئل بربریان‎,亚美尼亚语:Մանուել Բերբերյանին,1945年10月27日-),是一名毕业于剑桥大学的地球科学家;他的研究领域为
  • 胶胎鳚胶胎鳚为辐鳍鱼纲鼬鱼目深海鼬鱼亚目裸鼬鱼科的其中一种。本鱼分布于全球各大洋深海底层。本鱼口几乎呈水平状。眼小或外表看不见。无腭骨。第一鳃弓的长鳃耙3~4。背鳍前背
  • 假红树科假红树科只有1属1种,是单种科,假红树只生长在中美洲从哥斯达黎加到厄瓜多尔一带。本科植物是常绿乔木,枝条丛生;单叶互生,有腺点;花大,花苞长,花瓣5数;果实大,直径达13厘米,类似椰子,皮