왓콤 C/C++

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 버전에 대한 코드가 있지만 컴파일에 필요한 라이브러리를 오픈 소스로 공개 할 수 없다.날짜=2018-03-03 안정화 버전 1.9는 2010년 6월 출시되었다.url-status=dead 64 비트 호스트 (윈도우즈 및 리눅스), 내장 텍스트 편집기, 2 단계 구축 체제 및 긴 파일 이름 (LFN)을 지원하는 도스 버전을 지원하는 분기 버전 2.0 베타가 출시되었다.
## 출시 이력
*오픈 왓콤 위키*에는 포괄적인 기록이 있다. {| class="wikitable" ! 날짜 || 제품명 || 참고 |- | 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 || * 첫 번째 32 비트 버전, 도스 호스트 및 대상 전용 * Phar Lap DOS 확장자를 지원 * 링커 나 디버거와 함께 제공되지 않음 |- | 1990 || Watcom C 8.0 || |- | 1990 || Watcom C 8.0/386 || * 링커, 사서, 디버거, 프로파일러가 추가됨 |- | 1991 || Watcom C 8.5 || |- | 1991 || Watcom C 8.5/386 || * DOS/4GW와 함께 제공됨 * 윈도우즈 3.0 지원함(Win386 확장자) * 유니코드 지원 * OS/2 호스트 실행 파일 추가됨 |- | 1992 || Watcom C 9.0 || |- | 1992 || Watcom C 9.0/386 || * OS/2 2.0 호스트와 대상 지원 * 486 최적화 * 기반 포인터 지원 |- | ||Watcom C 9.01/386 || * 윈도우즈 3.1 지원 |- | 1993 || Watcom C/C++ 9.5 || |- | 1993 || Watcom C/C++ 9.5/386 || * C++ 컴파일러가 추가됨 * 펜티엄 최적화 * 윈도우즈 NT 호스트와 대상을 지원 |- | 1994 || Watcom C/C++ 10.0 || * MFC 포함됨 * 전처리된 헤더 지원 * 16 비트와 32 비트 도구가 한 꾸러미로 합쳐짐 * 디버거를 다시 설계함 * C++ 클래스 브라우저를 추가함 * 윈도우즈 자원 편집기 추가됨 * 윈도우즈 및 OS/2용 그래픽 IDE |- | 1995 || Watcom C/C++ 10.5 || * OS/2와 Win32에서 기본 C++ 예외처리 * Windows 95 및 NT 3.5 지원 * TCP/IP 원격 디버깅 |- | 1996 || Watcom C/C++ 10.6 || * C에서 구조화된 예외처리 * Microsoft 컴파일러와의 호환성 향상됨 |- | 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), 다양한 수정 사항을 지원한다.List of main differences of v1.9 to v2.0 Beta. |}
# 허가서
오픈 소스 이니셔티브는 오픈 소스로 허가서를 승인했지만 데비안, 페도라 및 자유 소프트웨어 재단은 "해당 소프트웨어를 "배포"할 때마다 소스 코드를 공개적으로 게시해야 하며 "배포"에는 많은 종류의 비공개 사용이 포함되도록 정의되어있다."accessdate=Dec 23, 2014
# 설계
컴파일러는 도스 (MS-DOS, FreeDOS), OS/2, 윈도우즈, 리눅스 운영체제에서 작동하고 실행 가능 코드를 생성 할 수 있다. Novell NetWare용 NLM 대상도 지원한다. x86, PowerPC및 기타 프로세서에서 실행되는 리눅스 및 현대의 BSD (예: FreeBSD) 운영 체제로 대상을 확장하는 작업이 진행 중이다. 이 코드는 이식성이 있으며 GCC 또는 LCC와 같은 다른 많은 오픈 소스 컴파일러 프로젝트와 마찬가지로 컴파일러 백엔드 (코드 생성기)는 대상을 다시 지정할 수 있다.
# 사용
1990년대 중반에 *둠*,History - Open Watcom url=https://web.archive.org/web/20061020193317/http://openwatcom.com/index.php/History. OpenWatcom.com wiki. *디센트*, *듀크 뉴켐 3D*,, 와 *라이즈 오브 더 트라이어드*제목=RotT was written in Watcom C++ v10.0 with the Rational Systems DOS/4GW extender와 같은 기술적으로 야심적인 MS-DOS 컴퓨터 게임 중 일부는 왓콤 컴파일러 와 DOS/4GW 보호 모드 확장자를 사용하는 ROTT와 같은 왓콤 C/C++를 사용하여 제작되었다. 2015년에 복고풍 도시 난동을 MS-DOS로 이식하는 데 사용되었다.출판사=Gamasutra 바이오스를 컴파일 하기 위해 버추얼 박스가 사용된다.확인날짜=2017-06-17
# 변형
깃허브title=Open Watcom V2 Fork Project on GitHub에는 오픈 왓콤 V2의 비공식 포크title=Open Watcom V2 Fork가 있다. 16 비트 도스 CRT 라이브러리 시작의 변형이 WASM으로 작성되었다.accessdate=2014-02-10
# 호환성
오픈 왓콤의 구문은 마이크로소프트것과 볼랜드것과 같은 다른 컴파일러가 도입한 여러 가지 규칙을 지원한다. 예를 들어 "asm"태그의 앞에 오는 밑줄의 수와 관련된 다른 규칙을 포함한다. 표준 호환 C 또는 C++가 아닌 다른 컴파일러 용으로 작성된 코드는 종종 Watcom 컴파일러로 컴파일된다. 컴파일러는 C89/C90 표준을 기본적으로 지원한다. 오픈 왓콤은 C99 표준과의 부분 호환성을 지원한다. 가장 일반적으로 사용되는 표준 부분을 구현한다. 그러나 문서화되지 않은 명령 줄 스위치 "-za99"를 통해서만 사용할 수 있다. 3 가지 C99 기능은 pre-v1.0 : C ++ 스타일 주석 (//), 유연한 배열 멤버, 열거 형 선언에 허용되는 후행 쉼표로 C90 확장으로 번들되었다.archivedate=May 3, 2015 컴파일러는 현재 새로운 주요 C11 기능을 지원하지 않지만, C 라이브러리에는 "Safe C"기능이 포함되어 있다. 이는 C11의 "경계 검사 인터페이스 (Annex K)"로 알려진 ISO/IEC TR 24731-1ISO/IEC TR 24731-1; Extension to the C Library, Part 1: Bounds-checking interfaces.WG14 N1969 ? "Updated Field Experience With Annex K ? Bounds Checking Interfaces", Carlos O'Donell, Martin Sebor에 명시되어있다. 일부 함수 이름 예제는 strcpy_s(), memcpy_s(), printf_s()이다.Open Watcom Safer C Library 이 라이브러리는 2006년 4월에 오픈 왓콤 1.5와 함께 출시되었다.
*[CRT]: C RunTime