본문으로 이동

왓콤 C/C++

위키백과, 우리 모두의 백과사전.

오픈 왓콤 C/C++
원저자왓콤
개발자사이베이스, SciTech Software
발표일2003년 1월 8일
(21년 전)
(2003-01-08)
안정화 버전
1.9 / 2010년 6월 2일
(14년 전)
(2010-06-02)
미리보기 버전
2.0 / 2015년 4월 2일
(9년 전)
(2015-04-02)
프로그래밍 언어C, C++, FORTRAN
플랫폼IA-32, x86-64
크기66–84 MB
종류통합 개발 환경
라이선스사이베이스 오픈 왓콤 공개 허가서 버전 1.0
웹사이트openwatcom.org

왓콤 C/C++(Watcom C/C++, 현재는 오픈 왓콤 C/C++)은 왓콤 국제 기업C, C++, Fortran 프로그래밍 언어통합 개발 환경 (IDE)제품이다. 왓콤 C/C++은 단종될 때까지 상업적인 제품이었으며, 이후에는 오픈 왓콤 C/C++이라는 이름으로 프리웨어로 출시되었다. x86, IA-32, x86-64 호환하는 프로세서를 기반으로 하는 MS-DOS, OS/2, 윈도우, 리눅스 운영 체제용 코드를 개발하고 디버깅하기 위한 도구를 제공한다.

역사

[편집]

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

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

안정화 버전 1.9는 2010년 6월 출시되었다.[1]

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

출시 이력

[편집]

오픈 왓콤 위키에는 포괄적인 기록[2]이 있다.

날짜 제품명 참고
1984 S/370용 워털루 C
1985 현재 코드 생성기 코드베이스 작업 시작됨.
1988 Watcom C 6.0
  • 도스 호스트 및 대상 전용
  • 디버거 및 전체 런타임 라이브러리 세트가 포함
  • 당시 다른 컴파일러 보다 우수한 코드 생성됨
  • Watcom C 6.5 버전에는 마이크로소프트 그래픽 라이브러리와 유사한 그래픽 라이브러리가 포함
1989 Watcom C 7.0
1989 Watcom C 7.0/386
1990 Watcom C 8.0
1990 Watcom C 8.0/386
1991 Watcom C 8.5
1991 Watcom C 8.5/386
1992 Watcom C 9.0
1992 Watcom C 9.0/386
  • OS/2 2.0 호스트와 대상 지원
  • 486 최적화
  • 기반 포인터 지원
Watcom C 9.01/386
1993 Watcom C/C++ 9.5
1993 Watcom C/C++ 9.5/386
1994 Watcom C/C++ 10.0
  • MFC 포함됨
  • 전처리된 헤더 지원
  • 16 비트와 32 비트 도구가 한 꾸러미로 합쳐짐
  • 디버거를 다시 설계함
  • C++ 클래스 브라우저를 추가함
  • 윈도우즈 자원 편집기 추가됨
  • 윈도우즈 및 OS/2용 그래픽 IDE
1995 Watcom C/C++ 10.5
1996 Watcom C/C++ 10.6
1997 Watcom C/C++ 11.0
  • C++ 컴파일러에서 네임스페이스, RTTI, 새로운 형식의 캐스트를 지원
  • 64 비트 정수형 지원
  • 라이브러리의 멀티바이트 문자 지원
  • 증분 링크 지원
  • 링커와 사서에서 COFF 와 ELF 목적 파일 지원
  • Microsoft 유사 도구 추가
  • DLL 이 더나은 IDE 통합용 도구를 기반으로함
1998 Watcom C/C++ 11.0B
1999 사이베이스가 Watcom C/C++ 11.0 용 수명종료를 통지
2000 사이베이스가 왓콤 도구의 오픈 소스화를 발표
2001-09-27 Watcom C/C++ 11.0c Beta
2002-12-21 Watcom C/C++ 11.0c
2003-01-28 Open Watcom 1.0
2003-08-12 Open Watcom 1.1
2004-01-07 Open Watcom 1.2
2004-08-03 Open Watcom 1.3
2005-12-14 Open Watcom 1.4
2006-04-26 Open Watcom 1.5
2006-12-15 Open Watcom 1.6
2007-08-18 Open Watcom 1.7
2007-10-23 Open Watcom 1.7a
2009-02-21 Open Watcom 1.8
2010-06-02 Open Watcom 1.9 현재의 공식 버전
2015-04-02 Open Watcom 2.0 Beta 깃허브 V2 분기판이다. 오픈 왓콤이 64 비트 호스트 (윈도우즈 및 리눅스), 자원 컴파일러 및 자원 편집기 지원 WIN64 실행 파일, 내장 텍스트 편집기, 2 단계 빌드 시스템, 도구의 도스 버전은 긴 파일 이름 (LFN), 다양한 수정 사항을 지원한다.[3]

허가서

[편집]

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

설계

[편집]

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

이 코드는 이식성이 있으며 GCC 또는 LCC와 같은 다른 많은 오픈 소스 컴파일러 프로젝트와 마찬가지로 컴파일러 백엔드 (코드 생성기)는 대상을 다시 지정할 수 있다.

사용

[편집]

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

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

바이오스를 컴파일 하기 위해 버추얼 박스가 사용된다.[7]

변형

[편집]

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

호환성

[편집]

오픈 왓콤의 구문은 마이크로소프트것과 볼랜드것과 같은 다른 컴파일러가 도입한 여러 가지 규칙을 지원한다. 예를 들어 "asm"태그의 앞에 오는 밑줄의 수와 관련된 다른 규칙을 포함한다. 표준 호환 C 또는 C++가 아닌 다른 컴파일러 용으로 작성된 코드는 종종 Watcom 컴파일러로 컴파일된다.

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

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

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

참고 사항

[편집]

각주

[편집]
  1. “Latest Release (June 2010) - Open Watcom”. OpenWatcom.org wiki. 2015년 3월 17일에 원본 문서에서 보존된 문서. 2015년 3월 17일에 확인함. 
  2. History - Open Watcom Archived 2006년 10월 20일 - 웨이백 머신. OpenWatcom.com wiki.
  3. List of main differences of v1.9 to v2.0 Beta.
  4. Free Software Foundation. “Various Licenses and Comments about Them”. 《GNU Operating System》. 2014년 12월 23일에 확인함. 
  5. “RotT was written in Watcom C++ v10.0 with the Rational Systems DOS/4GW extender”. 
  6. “How 5 years of burning ambition brought Retro City Rampage to DOS”. Gamasutra. 
  7. “#12011 (Compiling BIOS requires Open Watcom compiler)? Oracle VM VirtualBox”. 《www.virtualbox.org》. 2017년 6월 17일에 확인함. 
  8. “Open Watcom V2 Fork Project on GitHub”. 
  9. “Open Watcom V2 Fork”. 
  10. “pcdosasm.zip archive”. 2010년 7월 27일. 2014년 2월 10일에 확인함. Modified Open Watcom C/C++ DOS 16-bit ..\STARTUP\DOS\CSTRT086.ASM code 
  11. “C99 compliance in Open Watcom”. 2015년 5월 3일에 원본 문서에서 보존된 문서. 2015년 9월 25일에 확인함. 
  12. ISO/IEC TR 24731-1; Extension to the C Library, Part 1: Bounds-checking interfaces.
  13. WG14 N1969 ? "Updated Field Experience With Annex K ? Bounds Checking Interfaces", Carlos O'Donell, Martin Sebor
  14. Open Watcom Safer C Library

외부 링크

[편집]