DJGPP

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

相关

  • 信号分子在一定条件下,细胞外的化学信号能引发细胞的定向移动。这些信号有些时候是底质表面上一些难溶物质,有些时候则是可溶物质。信号分子有很多,可以是肽,代谢产物,细胞壁或是细胞膜的
  • 阿哌沙班阿哌沙班(INN,商品名Eliquis)是一种用于预防静脉血栓栓塞(thromboembolism)和房颤中风的抗凝血剂。它是一种直接Xa因子抑制剂(direct factor Xa inhibitor)。自2011年5月阿哌沙
  • 三氧化二铋三氧化二铋是一种无机化合物,化学式为Bi2O3,是铋最重要的化合物之一,虽然三氧化二铋可以从天然的铋华(一种矿物)取得,但是它主要的来源通常是炼铜或铅时的副产物,或直接燃烧铋(蓝色
  • 阿普里斯阿普里斯(英语:Apries)古埃及第二十六王朝的第四位法老,(公元前589年—公元前570年在位),他没有保护犹太抵抗尼布加尼撒二世进攻。却在耶路撒冷失陷后,庇护大量犹太难民,因攻打利比亚
  • 核糖核酸病毒核糖核酸病毒(英语:RNA virus),又称RNA病毒,其遗传物质为RNA,这些核糖核酸通常是单链RNA(ssRNA),但是也可能是双链RNA(dsRNA)。由RNA病毒感染造成的著名人类疾病包括艾滋病(AIDS)、埃博拉
  • 联邦星舰航海家号 (NCC-74656)联邦星舰航海家号 (USS Voyager),船籍编号NCC-74656,是科幻剧集《星际旅行:航海家号》里虚构的太空航行器。它是一艘无畏级星舰,由凯瑟琳·珍妮薇上校指挥。航海家号是由《星际
  • 自由表自由表(英语:free list)是一种用来实现特定动态内存分配方案的数据结构,也称自由列表。自由表的核心原理是将若干未分配的内存块用链表连接起来,将未分配区域的第一个字作为指向
  • 王端淑王端淑(1621年-18世纪),字玉映,号映然子,又号青芜子,山阴(今浙江绍兴)人。宗伯王季重次女,自幼聪慧,工诗文,且善书画,尤精史学,有才女之称。嫁钱塘贡士丁睿为妻。顺治中欲召入宫教诸妃习文
  • 大村三郎大村 三郎(おおむら さぶろう、1976年6月1日 - )、是前太平洋联盟千叶罗德海洋所属职业棒球选手(外野手)。千叶罗德海洋时期其登录名“サブロー”。2011年6月30日透过球员交易到
  • 卡洪 (科罗拉多州)卡洪(英语:Cahone)是位于美国科罗拉多州多洛雷斯县的一个非建制地区。该地的面积和人口皆未知。卡洪的座标为37°39′39″N 108°48′01″W / 37.66083°N 108.80028°W / 37.6