왓콤 C/C++
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
왓콤 C/C++는 사이베이스에서 판매가 중단되었지만 오픈 왓콤 꾸러미로 무료로 제공되는 C/C++ 컴파일러이다. 이 컴파일러는 다양한 운영 체제를 지원하며, 1990년대 중반 둠, 디센트, 듀크 뉴켐 3D 등 DOS 기반 게임 개발에 활용되었다. 오픈 왓콤은 오픈 소스 라이선스를 따르며, 2010년 6월에 안정화 버전 1.9가 출시되었고, 2015년에는 64비트 호스트 지원 및 다양한 기능을 갖춘 베타 버전 2.0이 출시되었다.
더 읽어볼만한 페이지
- C++ 컴파일러 - GNU 컴파일러 모음
GNU 컴파일러 모음(GCC)은 리처드 스톨먼이 1987년 처음 출시한 자유 소프트웨어 컴파일러 시스템으로, C, C++, Fortran, Ada, Go 등 다양한 프로그래밍 언어를 지원하며 여러 명령어 집합 아키텍처와 플랫폼에서 널리 사용된다. - C++ 컴파일러 - C++빌더
C++빌더는 델파이와 동일한 IDE를 사용하는 엠바카데로 테크놀로지스에서 개발한 C++ 통합 개발 환경이며, 윈도우, macOS, iOS, 안드로이드 등 다양한 플랫폼을 지원하고 VCL, FireMonkey, CLX와 같은 GUI 라이브러리를 제공한다. - C 컴파일러 - GNU 컴파일러 모음
GNU 컴파일러 모음(GCC)은 리처드 스톨먼이 1987년 처음 출시한 자유 소프트웨어 컴파일러 시스템으로, C, C++, Fortran, Ada, Go 등 다양한 프로그래밍 언어를 지원하며 여러 명령어 집합 아키텍처와 플랫폼에서 널리 사용된다. - C 컴파일러 - MinGW
MinGW는 윈도우에서 GNU 툴체인을 사용할 수 있게 해주는 프로젝트이며, MSYS를 통해 유닉스 셸 환경을 제공하고, C, C++, Objective-C 등 다양한 언어를 지원하며 윈도우 API를 직접 호출하여 호환성 계층 DLL을 요구하지 않는다.
2. 역사
사이베이스는 왓콤 C/C++ 컴파일러와 왓콤 포트란 컴파일러를 더 이상 판매하지 않지만, 이들은 ''오픈 왓콤'' 패키지로 무료로 제공되었다.
2005년 12월, 오픈 왓콤 C/C++ 1.4 버전이 출시되면서 NT 또는 OS/2 호스트 플랫폼에서 지원되는 리눅스 x86을 실험 대상으로 도입했다. 버려진 QNX 버전에 대한 코드는 있었지만, 컴파일에 필요한 라이브러리는 오픈 소스로 공개할 수 없었다.
2010년 6월에는 안정화 버전 1.9가 출시되었다.[2]
포크된 버전 2.0 베타가 출시되었으며, 64비트 호스트(윈도우 및 리눅스) 지원, 내장 텍스트 편집기, 2단계 빌드 시스템, 그리고 DOS 버전의 긴 파일 이름(LFN) 지원이 추가되었다.[4]
2. 1. 출시 이력
사이베이스에서 더 이상 왓콤 C/C++ 컴파일러를 판매하지 않지만, 왓콤 C/C++ 컴파일러와 왓콤 포트란 컴파일러는 ''오픈 왓콤'' 패키지로 무료로 제공된다.2005년 12월, 오픈 왓콤 C/C++ 1.4 버전이 출시되면서 NT 또는 OS/2 호스트 플랫폼에서 지원되는 리눅스 x86을 실험 대상으로 도입했다. 버려진 QNX 버전에 대한 코드도 있지만, 컴파일에 필요한 라이브러리는 오픈 소스로 공개할 수 없었다.
2010년 6월에는 안정화 버전 1.9가 출시되었다.[24]
64 비트 호스트 (윈도우즈 및 리눅스), 내장 텍스트 편집기, 2 단계 구축 체제 및 긴 파일 이름 (LFN)을 지원하는 도스 버전을 지원하는 분기 버전 2.0 베타가 출시되었다. ''오픈 왓콤 위키''에는 포괄적인 기록[27]이 있다.
오픈 소스 이니셔티브는 오픈 소스로 허가서를 승인했지만 데비안, 페도라 및 자유 소프트웨어 재단은 "해당 소프트웨어를 배포할 때마다 소스 코드를 공개적으로 게시해야 하며 배포에는 많은 종류의 비공개 사용이 포함되도록 정의되어있다."는 이유로 거부했다.[26][8]
컴파일러는 MS-DOS, OS/2, 윈도우, 리눅스 운영체제에서 작동하고 실행 가능 코드를 생성 할 수 있다. Novell NetWare용 NLM 대상도 지원한다. x86, PowerPC및 기타 프로세서에서 실행되는 리눅스[9] 및 현대의 BSD (예: FreeBSD) 운영 체제로 대상을 확장하는 작업이 진행 중이다.
1990년대 중반 둠[27], 디센트[27], 듀크 뉴켐 3D[27], 라이즈 오브 더 트라이어드(ROTT)[28] 등 기술적으로 야심찬 MS-DOS 컴퓨터 게임 일부는 왓콤 컴파일러와 DOS/4GW 보호 모드 확장자를 사용하는 왓콤 C/C++를 사용하여 제작되었다.
깃허브(GitHub)[31]에는 오픈 왓콤 V2의 비공식 포크[32]가 있다. 16 비트 도스 CRT 라이브러리 시작의 변형이 WASM으로 작성되었다.[33]
3. 라이선스
4. 설계 및 특징
이 코드는 이식성이 있으며 GCC 또는 LCC와 같은 다른 많은 오픈 소스 컴파일러 프로젝트와 마찬가지로 컴파일러 백엔드 (코드 생성기)는 대상을 다시 지정할 수 있다.
오픈 왓콤의 구문은 마이크로소프트와 볼랜드와 같은 다른 컴파일러가 도입한 여러 가지 규칙을 지원한다. 예를 들어 "asm"태그의 앞에 오는 밑줄의 수와 관련된 다른 규칙을 포함한다. 표준 호환 C 또는 C++가 아닌 다른 컴파일러 용으로 작성된 코드는 종종 Watcom 컴파일러로 컴파일된다.
컴파일러는 C89/C90 표준을 기본적으로 지원한다.
오픈 왓콤은 C99 표준과의 부분 호환성을 지원한다. 가장 일반적으로 사용되는 표준 부분을 구현한다. 그러나 문서화되지 않은 명령 줄 스위치 "-za99"를 통해서만 사용할 수 있다. 3가지 C99 기능은 pre-v1.0 : C++ 스타일 주석 (//), 유연한 배열 멤버, 열거형 선언에 허용되는 후행 쉼표로 C90 확장으로 번들되었다.[19]
컴파일러는 현재 새로운 주요 C11 기능을 지원하지 않지만, C 라이브러리에는 "Safe C" 기능이 포함되어 있다. 이는 C11의 "경계 검사 인터페이스 (Annex K)"로 알려진 ISO/IEC TR 24731-1[20][21]에 명시되어있다. 일부 함수 이름 예제는 strcpy_s(), memcpy_s(), printf_s()이다.[22] 이 라이브러리는 2006년 4월에 오픈 왓콤 1.5와 함께 출시되었다.
5. 활용 사례
2015년 복고풍 도시 난동을 MS-DOS로 이식하는 데 사용되었다.[29]
버추얼 박스는 바이오스를 컴파일하는 데 사용된다.[30]
6. 변형
7. 참고 사항
참조
[1]
웹사이트
'Current-build'
https://github.com/o[...]
2024-12-09
[2]
웹사이트
'Latest Release (June 2010) - Open Watcom'
https://web.archive.[...]
OpenWatcom.org wiki
[3]
웹사이트
C Compiler Release Changes
https://web.archive.[...]
2010-03-09
[4]
문서
List of main differences of v1.9 to v2.0 Beta.
https://open-watcom.[...]
[5]
문서
'SYBASE INC. ANNOUNCES WATCOM C/C++ VERSION 11.0 Includes New Support For MMX Technology and Improved C++ language Support'
https://web.archive.[...]
[6]
문서
End of Life Notice for Watcom C/C++ Version 11.0
https://web.archive.[...]
[7]
문서
Sybase to Open Source Watcom C/C++ and Fortran Compilers - SciTech Software Selected as Official Maintainer for the Open Watcom Project
https://web.archive.[...]
[8]
웹사이트
Various Licenses and Comments about Them
https://www.gnu.org/[...]
2014-12-23
[9]
문서
'Installing Open Watcom on Linux - Open Watcom'
https://web.archive.[...]
[10]
문서
'History - Open Watcom'
http://wiki.openwatc[...]
[11]
웹사이트
RotT was written in Watcom C++ v10.0 with the Rational Systems DOS/4GW extender
http://legacy.3dreal[...]
[12]
웹사이트
How 5 years of burning ambition brought Retro City Rampage to DOS
http://www.gamasutra[...]
Gamasutra
2015-07-10
[13]
웹사이트
'#12011 (Compiling BIOS requires Open Watcom compiler)– Oracle VM VirtualBox'
https://www.virtualb[...]
2017-06-17
[14]
웹사이트
FreeDOS Spec
http://wiki.freedos.[...]
FreeDOS
[15]
웹사이트
Information for developers
https://www.arcanoae[...]
2020-09-06
[16]
웹사이트
Open Watcom V2 Fork
https://open-watcom.[...]
[17]
웹사이트
Open Watcom V2 Fork Project on GitHub
https://github.com/o[...]
[18]
웹사이트
pcdosasm.zip archive
http://purl.net/xyzz[...]
2010-07-27
[19]
웹사이트
C99 compliance in Open Watcom
https://wiki.openwat[...]
[20]
문서
'ISO/IEC TR 24731-1; Extension to the C Library, Part 1: Bounds-checking interfaces.'
https://www.open-std[...]
[21]
문서
'WG14 N1969 — "Updated Field Experience With Annex K — Bounds Checking Interfaces", Carlos O''Donell, Martin Sebor'
https://www.open-std[...]
[22]
웹사이트
Open Watcom Safer C Library
http://wiki.openwatc[...]
2020-11-30
[23]
간행물
Smoothing Out C
https://archive.org/[...]
2024-10-08
[24]
웹인용
'Latest Release (June 2010) - Open Watcom'
http://www.openwatco[...]
OpenWatcom.org wiki
2015-03-17
[25]
문서
List of main differences of v1.9 to v2.0 Beta.
https://open-watcom.[...]
[26]
웹인용
Various Licenses and Comments about Them
https://www.gnu.org/[...]
[27]
문서
'History - Open Watcom'
http://openwatcom.co[...]
[28]
웹인용
RotT was written in Watcom C++ v10.0 with the Rational Systems DOS/4GW extender
http://legacy.3dreal[...]
[29]
웹인용
How 5 years of burning ambition brought Retro City Rampage to DOS
http://www.gamasutra[...]
Gamasutra
[30]
웹인용
'#12011 (Compiling BIOS requires Open Watcom compiler)? Oracle VM VirtualBox'
https://www.virtualb[...]
2017-06-17
[31]
웹인용
Open Watcom V2 Fork Project on GitHub
https://github.com/o[...]
[32]
웹인용
Open Watcom V2 Fork
https://open-watcom.[...]
[33]
웹인용
pcdosasm.zip archive
http://purl.net/xyzz[...]
2010-07-27
[34]
웹인용
C99 compliance in Open Watcom
http://openwatcom.or[...]
[35]
문서
'ISO/IEC TR 24731-1; Extension to the C Library, Part 1: Bounds-checking interfaces.'
http://www.open-std.[...]
[36]
문서
WG14 N1969 ? "Updated Field Experience With Annex K ? Bounds Checking Interfaces", Carlos O'Donell, Martin Sebor
http://www.open-std.[...]
[37]
웹사이트
Open Watcom Safer C Library
https://web.archive.[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com
