GNU 컴파일러 모음
| 개발자 | GNU 프로젝트 |
|---|---|
| 최근 버전 | 4.8.0 / 2013년 3월 22일 |
| 운영 체제 | 크로스 플랫폼 |
| 종류 | 컴파일러 |
| 라이선스 | GNU GPL |
| 웹사이트 | gcc.gnu.org |
GNU 컴파일러 모음(GNU Compiler Collection, 줄여서 GCC)는 GNU 프로젝트의 일환으로 개발되어 널리 쓰이고 있는 컴파일러이다. 자유 소프트웨어 중에 가장 잘 알려진 것들 중 하나이다.
원래 GCC는 C만을 지원했던 컴파일러로 이름도 "GNU C 컴파일러"였지만, 후에 C++, 자바, 포트란, 에이다 등 여러 언어를 컴파일할 수 있게 되면서, 현재의 이름으로 바뀌었다.
목차 |
소개 [편집]
GCC는 리처드 스톨만이 1987년 GNU 프로젝트의 컴파일러로 작성했다. GNU 프로젝트에 컴파일러가 없었기 때문에 이 개발은 자유 소프트웨어 재단이 후원하였다. 1997년 개발 과정은 공개되었으며, 속도 또한 빨라졌다. 1999년 첫 버전이 나왔다. 현재 GCC는 전 세계적으로 관리되고 있으며, 다양한 중앙 처리 장치를 처리할 수 있게 되었다.
GNU 시스템의 공식 컴파일러이므로 GCC는 많은 컴파일러와 운영 체제를 만드는 데 사용되었다. 한편, 시스템 네이티브 컴파일러를 사용했을 때 비해서 GCC를 사용하면 같은 파서로 코드를 처리하므로 이식성을 향상시킬 수 있다. GCC는 상용 컴파일러에 비해서 느린 코드를 생성했지만 최근 많이 개선되었다.
지원 프로그래밍 언어 [편집]
GCC 4.1.1 기준으로 다음의 언어들을 지원한다.
CHILL 언어 프론트엔드가 있었으나 관리되지 않아서 소스 코드가 제거되었다. GCC 4.0 이전에는 포트란 77 표준만을 지원하는 G77을 사용였으나, 그 이후 포트란 95 표준를 지원하는 현재의 GFortran으로 바뀌었다. Pascal, D, VHDL, PL/I 등 다른 언어도 지원한다. Objective-C++은 4.1 버전에서 새로 지원한다.
지원 아키텍처 [편집]
GCC 4.1 기준으로 다음과 같은 CPU 아키텍처를 지원한다.
- Alpha
- ARM
- Blackfin
- H8/300
- System/370, System/390
- IA-32 (x86), AMD64
- IA-64(예: 아이테니엄)
- Motorola 68000
- Motorola 88000
- MIPS
- PA-RISC
- PDP-11
- PowerPC
- SuperH
- SPARC
- VAX
- Renesas R8C/M16C/M32C families
- MorphoSys family
호환 IDE [편집]
리눅스 및 일부 운영 체제용으로 개발된 대부분의 통합 개발 환경은 GCC를 지원한다. 이를테면 다음을 포함한다:
- Anjuta
- Code::Blocks
- 코드라이트(CodeLite)
- Dev-C++
- 이클립스
- geany
- KDevelop
- NetBeans
- Qt 크리에이터
- Xcode (엑스코드 4.1.0까지만 지원. 그 뒤에는 llvm-gcc라는 프론트엔드가 대신한다.)
참고 자료 [편집]
- Richard M. Stallman: Using and Porting the GNU Compiler Collection, Free Software Foundation, ISBN 0-595-10035-X
- Richard M. Stallman: Using Gcc: The Gnu Compiler Collection Reference, Free Software Foundation, ISBN 1-882114-39-6
- Brian J. Gough: An Introduction to GCC, Network Theory Ltd., ISBN 0-9541617-9-3
바깥 고리 [편집]
| 위키미디어 공용에 관련 미디어 자료가 있습니다. |
- (영어) GCC 홈페이지
- (영어) GCC 매뉴얼 목록
- (영어) GCC 위키
|
자유-오픈 소스 소프트웨어 |
||
|---|---|---|
| 일반 | ||
| 역사 | ||
| 운영 체제 | ||
| 개발 | ||
| 창 관리자 | ||
| 단체 | ||
| 라이선스 | ||