DJGPP

✍ dations ◷ 2025-08-14 08:38:09 #自由集成开发环境,自由编译器与直译器,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确实支持分页实模式和不受限制的访客模式执行。

相关

  • 繁殖繁殖,或生殖,是透过生物的方法制造生物个体的过程。繁殖是所有生命都有的基本现象之一。每个现存的个体都是上一代繁殖所得来的结果。已知的繁殖方法可分为两大类:有性生殖以及
  • 地球观测地球观测卫星,是指专门对地球的环境与资源进行遥感观测的非军事用途卫星,其用途包括包括环境监测、气象监测、地图制作等。气象卫星的主要作用是观察和监视地球的气象和气候,城
  • Hsub2/sub[SiFsub6/sub]氟硅酸、六氟硅酸是化学式为H2SiF6的无机化合物,只存在于溶液中。纯H2SiF6不稳定,容易分解生成HF和SiF4。H2SiF6是氟磷灰石与氢氟酸反应的副产物,反应生成的HF与硅酸盐矿物反应
  • 三面体在几何学中,三面体(英文:Trihedron)是指由3个面组成的多面体。面为平面的三面体在三维空间不能存在,因为要至少四个顶点才能在三维空间形成有体积的多面体,除非它的面是曲面,或是存
  • 2019冠状病毒病江西省疫情2019冠状病毒病江西省疫情,介绍2019冠状病毒病疫情中,在中华人民共和国江西省发生的情况。2019年12月20日,罗某某赴武汉市进货。2020年1月2日陈某某返回老家萍乡市湘东区,曾到武
  • 雷加图斯古罗马政府与政治 系列条目罗马共和国 前509年–前27年 罗马帝国 前27年–1453年元首制 西罗马帝国君主制 东罗马帝国王政时代宪政(英语:Constitution of the Roman Kingdom)
  • 詹姆斯·惠斯勒詹姆斯·惠斯勒(James McNeill Whistler,1834年7月11日-1903年7月17日),著名印象派画家,父亲是美国工程师,全家曾居于圣彼得堡。惠斯勒曾入读西点军校,之后自选画家为职业。惠斯勒出
  • 白昇浩白昇浩(韩语:백승호,1997年3月17日-),为韩国职业足球运动员,司职前锋 / 攻击中场,现效力于西班牙足球甲级联赛吉罗纳2009年,他参加了首尔的大东小学,并在小学周末联赛的18场比赛中打了
  • 萨莫吉希亚公国萨莫吉希亚公国(立陶宛语:Žemaičių seniūnija,波兰语:Księstwo żmudzkie) 自1219年属于立陶宛大公国(自1569年起属于波兰立陶宛联邦)。在1419年至1441年间,该地区被称为萨莫吉
  • 华盛顿山 (新罕布什尔州)华盛顿山是美国的山峰,位于该国东北部新罕布什尔州,海拔高度1,917米,人类在1642年首次登顶,该山峰在全世界最大风的山峰,1934年4月12日录得风速每小时372公里。