DJGPP

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

相关

  • 多神论一多神论或多神教(来自希腊语:πολυθεϊσμός,英语:polytheism),相对于一神论或一神教而言,指崇拜或信仰许多(复数)神的信仰体系或者宗教教条。典型代表为印度教、古希腊宗教
  • 埃德蒙·罗卡埃德蒙·洛卡德(法语:Edmond Locard;1877年11月13日-1966年4月4日),法国司法科学家,提出洛卡德物质交换定律(行为人一定会带走一些东西,也会留下一些东西)。这是侦查学的基础理论。
  • 尿素降低率尿素降低率(urea reduction ratio (URR))、尿素减少率)是用来量化透析治疗充分度的无维度量。U R R =
  • 赫尔曼·何乐礼赫尔曼·何乐礼(英语:Herman Hollerith,1860年2月29日-1929年11月17日)或译赫尔曼·霍尔瑞斯,是一位德裔美籍的统计学家和发明家。基于打孔卡技术,他发明了打孔卡片制表机(Tabulatio
  • ɞ半开央圆唇元音(open-mid central rounded vowel、low-mid central rounded vowel)是元音的一种,存在于一些语言当中,国际音标是 ⟨ɞ⟩,X-SAMPA音标是⟨3\⟩。1993年以前,该元音
  • 曙光任务卫星本体:长 2.36 米, 高 1.64 米,宽 1.77 米黎明号(英语:Dawn),也称为曙光号,是美国宇航局的无人空间探测器,于2007年9月27日发射升空,目的是探索小行星带最大的两颗原行星:灶神星与
  • 国务院出国工人管理局国务院出国工人管理局,是中华人民共和国国务院曾存在的直属机构,负责劳务出口工作。由国务院副总理邓小平分管。1955年4月7日中国与蒙古人民共和国在北京正式签订《关于中华人
  • 硅化镁硅化镁(Magnesium silicide),化学式为Mg2Si,是镁元素和硅元素组成的一种无机化合物。硅化镁是青色或浅紫色的粉末。二氧化硅(SiO2)和镁单质按物质的量之比为1:2一起加热会形成氧
  • 贵族 (歌曲)《贵族》(英语:Royals)是新西兰歌手萝儿的一首歌曲,出自她2012年的首张迷你专辑《爱情俱乐部》(),随后收录于她2013年的首张录音室专辑《纯粹女英雄》()。歌曲融合了艺术摇滚、流行电
  • 巴塘小檗巴塘小檗(学名:)为小檗科小檗属下的一个种。