맨위로가기

왓콤 C/C++

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의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]이 있다.

날짜제품명참고
1984S/370용 워털루 C
1985현재 코드 생성기 코드베이스 작업 시작됨.
1988Watcom C 6.0
1989Watcom C 7.0
1989Watcom C 7.0/386
1990Watcom C 8.0
1990Watcom C 8.0/386
1991Watcom C 8.5
1991Watcom C 8.5/386
1992Watcom C 9.0
1992Watcom C 9.0/386
1993Watcom C 9.01/386
1993Watcom C/C++ 9.5
1993Watcom C/C++ 9.5/386
1994Watcom C/C++ 10.0
1995Watcom C/C++ 10.5
1996Watcom C/C++ 10.6
1997Watcom C/C++ 11.0
1998Watcom C/C++ 11.0B
1999사이베이스가 Watcom C/C++ 11.0 용 수명종료를 통지
2000사이베이스가 왓콤 도구의 오픈 소스화를 발표
2001-09-27Watcom C/C++ 11.0c Beta
2002-12-21Watcom C/C++ 11.0c
2003-01-28Open Watcom 1.0
2003-08-12Open Watcom 1.1
2004-01-07Open Watcom 1.2
2004-08-03Open Watcom 1.3
2005-12-14Open Watcom 1.4
2006-04-26Open Watcom 1.5
2006-12-15Open Watcom 1.6
2007-08-18Open Watcom 1.7
2007-10-23Open Watcom 1.7a
2009-02-21Open Watcom 1.8
2010-06-02Open Watcom 1.9현재의 공식 버전
2015-04-02Open Watcom 2.0 Beta깃허브 V2 분기판이다. 오픈 왓콤이 64 비트 호스트 (윈도우즈 및 리눅스), 자원 컴파일러 및 자원 편집기 지원 WIN64 실행 파일, 내장 텍스트 편집기, 2 단계 빌드 시스템, 도구의 도스 버전은 긴 파일 이름 (LFN), 다양한 수정 사항을 지원한다.[25]


3. 라이선스

오픈 소스 이니셔티브오픈 소스로 허가서를 승인했지만 데비안, 페도라 및 자유 소프트웨어 재단은 "해당 소프트웨어를 배포할 때마다 소스 코드를 공개적으로 게시해야 하며 배포에는 많은 종류의 비공개 사용이 포함되도록 정의되어있다."는 이유로 거부했다.[26][8]

4. 설계 및 특징

컴파일러는 MS-DOS, OS/2, 윈도우, 리눅스 운영체제에서 작동하고 실행 가능 코드를 생성 할 수 있다. Novell NetWare용 NLM 대상도 지원한다. x86, PowerPC및 기타 프로세서에서 실행되는 리눅스[9] 및 현대의 BSD (예: FreeBSD) 운영 체제로 대상을 확장하는 작업이 진행 중이다.

이 코드는 이식성이 있으며 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. 활용 사례

1990년대 중반 [27], 디센트[27], 듀크 뉴켐 3D[27], 라이즈 오브 더 트라이어드(ROTT)[28] 등 기술적으로 야심찬 MS-DOS 컴퓨터 게임 일부는 왓콤 컴파일러와 DOS/4GW 보호 모드 확장자를 사용하는 왓콤 C/C++를 사용하여 제작되었다.

2015년 복고풍 도시 난동을 MS-DOS로 이식하는 데 사용되었다.[29]

버추얼 박스는 바이오스를 컴파일하는 데 사용된다.[30]

6. 변형

깃허브(GitHub)[31]에는 오픈 왓콤 V2의 비공식 포크[32]가 있다. 16 비트 도스 CRT 라이브러리 시작의 변형이 WASM으로 작성되었다.[33]

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