DJGPP

DJGPP

DJGPP
Djgpp logo.svg
GCC DJGPP Windows.png
GCC를 이용한 DJGPP 환경
개발자DJ 들러리
안정된 릴리스
2.0.5 / 2015년 11월 3일, 6년 전(2015-11-03)[1]
저장소
운영 체제DOS32비트 Windows
유형컴파일러
면허증.GNU GPL
웹 사이트www.delorie.com/djgpp

DJ의 GNU Programming Platform(DJGPP)[2]은 DOS 운영 체제를 지원하는 Intel 80386 이상 IBM PC 호환 소프트웨어 개발 스위트입니다.그것은 1989년에 프로젝트를 시작한 DJ 들로리가 이끈다.GNU 컴파일러 컬렉션(GCC)의 포트이며, 주로 Bash, find, tar, ls, GAWK, sed ld to DOS Protected Mode Interface(DPMI) 등의 GNU 유틸리티입니다.지원되는 언어에는 C, C++, Objective-C/C++, Ada, Fortran Pascal이 있습니다.

개요

컴파일러는 기본 OS 지원을 위해 16비트 DOS 호출로 전환하면서 32비트 보호 모드로 기본적으로 실행되는 32비트 코드를 생성합니다.그러나 Open Watcom C/C++ 컴파일러와는 달리 안정성을 높이기 위해 NULL 포인터 보호를 선호하기 때문에 제로 기반의 플랫 모델은 아닙니다.현재 COFF 형식의 변형에 기초하고 있습니다.적절한 DPMI 호스트(CWSDPMI r7 또는 HDPMI32)를 사용하면 순수 DOS로 최대 4GB의 RAM에 액세스할 수 있습니다.

2020년 8월 현재 DJGPP 2의 주요 구성 요소는 다음과 같습니다.

UNIX/Linux 등에서는 DJGPP를 사용하여 소프트웨어를 DOS로 크로스 컴파일할 수도 있습니다.DJGPP 라이브러리와 프로그램 모두 이 방법으로 컴파일하여 DOS 또는 DOS 에뮬레이터가 있는 머신에 링크하여 전개할 수 있습니다.

호환성.

DJGPP는 프로그래머에게 ANSI C C99 표준, DOS API 및 오래된 POSIX와 유사한 환경과 호환되는 인터페이스를 제공합니다.컴파일된 바이너리는 롱 파일명(LFN)을 지원하며 기본적으로는 대부분의 32비트 Windows에서 이러한 이름을 처리할 수 있지만 Windows 상의 그래픽 프로그램에 필요한 [3]Win16 또는 Win32 API를 사용할 수 없습니다.일반 DOS 또는 Windows NT 4에서 LFN을 지원하는 TSR(Terminate and Stay Resident) 프로그램을 사용할 수 있습니다.

DJGPP는 32비트 보호 모드로 동작하지만 스터브와 라이브러리는 많은 16비트 DOS 및 BIOS 호출에 크게 의존하고 있습니다.x86-64 버전의 Windows는 16비트 [4][5]프로그램을 지원하지 않기 때문에 NTVDM은 없으며 DJGPP 응용 프로그램을 실행할 수 없습니다.x86-64 시스템에서 이러한 애플리케이션은 에뮬레이션(DOSBox 등), x86 가상화(Virtual Box 등) 또는 이와 유사한 기능(Linux의 DOSMU 등)을 통해서만 작동합니다. 문제는 롱 모드에서는 x86-64 프로세서가 IA-32 프로세서에서 16비트코드를 실행하기 위해 사용되는 가상8086 모드를 지원하지 않기 때문에 발생합니다.VT-x를 사용하는 최신 x86 CPU는 페이징된 실제 모드와 제한되지 않은 게스트 모드 실행을 지원합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ 공지사항: DJGPP V2.05 출시, comp.os.msdos.djgpp, 2015년 11월 3일
  2. ^ Eli Zaretskii (Jul 1999). "The DJGPP Project". Retrieved 20 Jul 2009.
  3. ^ Wall, Kurt; Von Hagen, William (2004). The Definitive Guide to GCC. Apress. pp. 47–48. ISBN 9781590591093. Another popular, though aging, GCC-based development system is DJGPP, D.J.[sic] Delorie's free 32-bit development environment for DOS systems.
  4. ^ "Guide: What is DJGPP?". Retrieved November 22, 2015. 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.
  5. ^ Microsoft (11 Oct 2007). "List of limitations in 64-Bit Windows". Archived from the original on 20 April 2010. Retrieved 20 Apr 2010. 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.

외부 링크