Jump to content

GNU Compiler Collection

From DawoumWiki, the free Mathematics self-learning
GNU Compiler Collection
Original author(s)Richard Stallman
Developer(s)GNU Project
Initial releaseMarch 22, 1987; 37 years ago (1987-03-22)[1]
Repositorygcc.gnu.org/git/gcc.git
Written inC, C++[2]
Operating systemCross-platform
PlatformGNU and many others
Size~15 million LOC[3]
Available inEnglish
TypeCompiler
LicenseGPLv3+ with GCC Runtime Library Exception[4]
Websitegcc.gnu.org

GNU Compiler Collection (GCC)은 다양한 프로그래밍 언어, 하드웨어 아키텍처, 및 운영 시스템을 지원하는 GNU 프로젝트에서 제작한 최적화 컴파일러입니다. 자유 소프트웨어 재단 (FSF)은 GNU 일반 공중 사용 허가서(GNU General Public License, GNU GPL)에 따라 GCC를 자유 소프트웨어로 배포합니다. GCC는 GNU 도구체인의 핵심 구성 요소이고 GNULinux 커널과 관련된 대부분의 프로젝트에 대한 표준 컴파일러입니다. 2019년 약 1,500만 줄의 코드와 함께, GCC는 현존하는 가장 큰 자유 프로그램 중 하나입니다.[3] 그것은 도구이자 본보기로서 자유 소프트웨어의 성장에 중요한 역할을 해왔습니다.

그것이 1987년 리처드 스톨먼(Richard Stallman)에 의해 처음 출시되었을 때, GCC 1.0은 C 프로그래밍 언어만 처리했기 때문에 GNU C 컴파일러로 이름지었습니다.[1] 그것은 그해 12월에 C++를 컴파일하도록 확장되었습니다. 프런트 엔드는 나중에 Objective-C, Objective-C++, Fortran, Ada, D, Go, 및 Rust 등을 위해 개발되었습니다.[5] OpenMPOpenACC 사양은 C와 C++ 컴파일러에서도 지원됩니다.[6][7]

GCC는 다른 어떤 컴파일러보다 더 많은 플랫폼과 명령 집합 아키텍처로 포팅되었고, 자유 소프트웨어와 독점 소프트웨어 개발 도구로 널리 배포되었습니다. GCC는 ARM-기반 칩과 Power ISA-기반 칩을 비롯한 많은 임베디드 시스템에서도 사용할 수 있습니다.

GNU 운영 시스템의 공식 컴파일러일 뿐만 아니라, GCC는 대부분의 리눅스 배포판을 포함하여 다른 많은 최신 유닉스-계열 컴퓨터 운영 시스템에서 표준 컴파일러로 채택되어 왔습니다. 대부분의 BSD 계열 운영 시스템도 출시 직후 GCC로 전환했지만 그 이후로 FreeBSD, OpenBSDApple macOS는 주로 라이센스로 인해[8] Clang 컴파일러로 이동했습니다.[9][10][11] GCC는 역시 Windows, Android, iOS, Solaris, HP-UX, AIX, 및 DOS를 위한 코드를 컴파일할 수 있습니다.[12]

Installation

데비안 저장소에서 설치할 수 있습니다.

  • sudo nala install gcc g++

보통은 현재 설치된 데비안 버전에서 기본으로 제공하는 버전이 설치가 됩니다. 예를 들어, trixie는 버전 12를 기본으로 설치해 줍니다.

만약, 특정 프로그램을 컴파일하기 위해, 특정 버전, 예를 들어, 버전 10을 설치하고 싶을 때에는 다음과 같이 시도해 볼 수 있습니다:

  • sudo nala install gcc-10 g++-10

그 외, trixie에서는 버전 9 아래를 제공하지 않습니다.

한편, 최근 안정 버전 gcc-13을 설치하기 위해, 만약 glibc의 현재 버전이 sid와 같을 경우에는 시드로부터 설치할 수 있습니다:

  • sudo nala install gcc-13 g++-13 -t sid

이런 식의 다른 저장소의 패키지는 DontBreakDebian에서 지적된 것처럼 시스템에 문제를 발생할 수 있습니다. 따라서, 예를 들어, gcc-13을 설치하기 위해 현재 시스템에서 시드 패키지를 받아서 직접 컴파일해서 패키지를 만들 수 있습니다.

더구나, 데비안 시드 버전에 설치된 프로그램들은 곧 데스팅(trixie) 버전에서 컴파일되어서 패키지를 제공하기 때문에, 당장 필요하지 않을 때에는 한 두 주 정도를 기다려볼 필요가 있습니다.

또한, 현재 제공되지 않는 gcc-9 버전에 대한 패키지도 시드에서 제공하기 때문에 필요하다면, 현재 시스템에서 패키징을 시도할 수 있습니다.

어쨌든, glibc 버전을 서로 맞지 않을 때에는 현재 시스템에서 다시 패키징을 시도하는 것이 안전한 방법이고, 저장소를 거쳐서 설치하는 것은 가능한 피하는 것이 좋습니다.

See also

References

  1. ^ a b "GCC Releases". GNU Project. Retrieved July 24, 2020.
  2. ^ "GCC Coding Conventions - GNU Project". gcc.gnu.org. Retrieved 2022-02-07.
  3. ^ a b Víctor Rodríguez (2019-10-01). "Cutting Edge Toolchain (Latest Features in GCC/GLIBC)". youtube.com. Linux Foundation. Archived from the original on 2021-11-07. Retrieved 2021-01-19.
  4. ^ "GCC Runtime Library Exception". Retrieved July 24, 2020.
  5. ^ "Programming Languages Supported by GCC". GNU Project. Retrieved 2014-06-23.
  6. ^ "GCC 6 Release Series — Changes, New Features, and Fixes - GNU Project". gcc.gnu.org.
  7. ^ "OpenACC - GCC Wiki". gcc.gnu.org.
  8. ^ "The LLVM Compiler Infrastructure Project". llvm.org.
  9. ^ "Apple's GPLv3 purge". meta.ath0.com. Retrieved 2021-01-12.
  10. ^ Linnemann, Reid (June 20, 2012). "Why Clang". Retrieved 2021-01-12.
  11. ^ "August 29, 2007: FreeBSD Foundation Newsletter, August 29, 2007". 2007-10-11. Archived from the original on October 11, 2007. Retrieved 2021-01-12.
  12. ^ "Installing GCC: Binaries - GNU Project - Free Software Foundation (FSF)". gcc.gnu.org. Retrieved 2021-01-12.

Further reading

External links

Official

Other