왓콤 C/C++

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

왓콤 C/C++는 사이베이스에서 판매가 중단되었지만 오픈 왓콤 꾸러미로 무료로 제공되는 C/C++ 컴파일러이다. 이 컴파일러는 다양한 운영 체제를 지원하며, 1990년대 중반 둠, 디센트, 듀크 뉴켐 3D 등 DOS 기반 게임 개발에 활용되었다. 오픈 왓콤은 오픈 소스 라이선스를 따르며, 2010년 6월에 안정화 버전 1.9가 출시되었고, 2015년에는 64비트 호스트 지원 및 다양한 기능을 갖춘 베타 버전 2.0이 출시되었다.

왓콤 C/C++ - [IT 관련 정보]에 관한 문서
기본 정보

이미지 준비중입니다.

로고
저자왓콤
개발자사이베이스, SciTech Software
최초 출시일1988년
최신 안정화 버전1.9
최신 안정화 버전 출시일2010년 6월 2일
최신 미리보기 버전2.0
최신 미리보기 버전 출시일2024년 12월 4일
저장소GitHub 저장소
프로그래밍 언어C, C++
지원 운영체제DOS, Windows, OS/2, Linux
크기66–84 MB
지원 플랫폼x86, IA-32, x86-64
장르통합 개발 환경
라이선스사이베이스 오픈 왓콤 공개 허가서 버전 1.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.0 베타가 출시되었으며, 64비트 호스트(윈도우 및 리눅스) 지원, 내장 텍스트 편집기, 2단계 빌드 시스템, 그리고 DOS 버전의 긴 파일 이름(LFN) 지원이 추가되었다.

2.1. 출시 이력

사이베이스에서 더 이상 왓콤 C/C++ 컴파일러를 판매하지 않지만, 왓콤 C/C++ 컴파일러와 왓콤 포트란 컴파일러는 오픈 왓콤 패키지로 무료로 제공된다.

2005년 12월, 오픈 왓콤 C/C++ 1.4 버전이 출시되면서 NT 또는 OS/2 호스트 플랫폼에서 지원되는 리눅스 x86을 실험 대상으로 도입했다. 버려진 QNX 버전에 대한 코드도 있지만, 컴파일에 필요한 라이브러리는 오픈 소스로 공개할 수 없었다.

2010년 6월에는 안정화 버전 1.9가 출시되었다.

64 비트 호스트 (윈도우즈 및 리눅스), 내장 텍스트 편집기, 2 단계 구축 체제 및 긴 파일 이름 (LFN)을 지원하는 도스 버전을 지원하는 분기 버전 2.0 베타가 출시되었다. 오픈 왓콤 위키에는 포괄적인 기록이 있다.

👆
좌우로 밀어서 보기
| 제품명 || 참고
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), 다양한 수정 사항을 지원한다.

3. 라이선스

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

4. 설계 및 특징

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

이 코드는 이식성이 있으며 GCC 또는 LCC와 같은 다른 많은 오픈 소스 컴파일러 프로젝트와 마찬가지로 컴파일러 백엔드 (코드 생성기)는 대상을 다시 지정할 수 있다.
오픈 왓콤의 구문은 마이크로소프트볼랜드와 같은 다른 컴파일러가 도입한 여러 가지 규칙을 지원한다. 예를 들어 "asm"태그의 앞에 오는 밑줄의 수와 관련된 다른 규칙을 포함한다. 표준 호환 C 또는 C++가 아닌 다른 컴파일러 용으로 작성된 코드는 종종 Watcom 컴파일러로 컴파일된다.

컴파일러는 C89/C90 표준을 기본적으로 지원한다.

오픈 왓콤은 C99 표준과의 부분 호환성을 지원한다. 가장 일반적으로 사용되는 표준 부분을 구현한다. 그러나 문서화되지 않은 명령 줄 스위치 "-za99"를 통해서만 사용할 수 있다. 3가지 C99 기능은 pre-v1.0 : C++ 스타일 주석 (//), 유연한 배열 멤버, 열거형 선언에 허용되는 후행 쉼표로 C90 확장으로 번들되었다.

컴파일러는 현재 새로운 주요 C11 기능을 지원하지 않지만, C 라이브러리에는 "Safe C" 기능이 포함되어 있다. 이는 C11의 "경계 검사 인터페이스 (Annex K)"로 알려진 ISO/IEC TR 24731-1에 명시되어있다. 일부 함수 이름 예제는 strcpy_s(), memcpy_s(), printf_s()이다. 이 라이브러리는 2006년 4월에 오픈 왓콤 1.5와 함께 출시되었다.

5. 활용 사례

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

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

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

6. 변형

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

7. 참고 사항

* 오픈 왓콤 어셈블러