본문 바로가기
IT

리눅스 gcc 컴파일러란?

by 미니송 2018. 2. 12.


이번 포스팅은 리눅스 gcc 컴파일러에 대해 하겠습니다.


gccGNU 컴파일러 모음(GNU Compiler Collection, 줄여서 GCC)

GNU 프로젝트의 일환으로 개발되어 널리 쓰이고 있는 컴파일러입니다.


많은 리눅스 사용자들은 이러한 gcc컴파일러를 이용해 보셨을 것입니다.

gcc 라고 시작하는 명령어가 바로 컴파일러를 사용하는 것입니다.


자유 소프트웨어 중에 가장 잘 알려진 것들 중 하나인 GCC는 원래 C만을 지원했던 컴파일러로 이름도 "GNU C 컴파일러"였습니다.

이러한 까닭에 현재에도 GCC GNU 컴파일러 모음의 일부인 GNU C 컴파일러(GNU C Compiler)의 줄임말로 쓰이기도 합니다.

그러나 나중에 C++, 자바, 포트란, 에이다 등 여러 언어를 컴파일할 수 있게 되면서, 현재의 이름으로 바뀌게 되었습니다.

 


개요

GCC는 리처드 스톨만이 1987 GNU 프로젝트의 컴파일러로 작성했습니다.

GNU 프로젝트에 컴파일러가 없었기 때문에 이 개발은 자유 소프트웨어 재단이 후원하였습니다.

1997년 개발 과정은 공개되었으며, 속도 또한 빨라졌습니다.


1999년 첫 버전이 나왔으며 현재 GCC는 전 세계적으로 관리되고 있으며, 다양한 중앙 처리 장치를 처리할 수 있게 되었습니다.

GNU 시스템의 공식 컴파일러이므로 GCC는 많은 컴파일러와 운영 체제를 만드는 데 사용되었습니다.


한편, 시스템 네이티브 컴파일러를 사용했을 때 비해서 GCC를 사용하면 같은 파서로 코드를 처리하므로 이식성을 향상시킬 수 있습니다. GCC는 상용 컴파일러에 비해서 느린 코드를 생성했지만 최근 많이 개선되었습니다.

 


지원 프로그래밍 언어

4.6 이후의 표준 컴파일러 릴리즈에는 C (gcc), C++ (g++), 오브젝티브 C, 오브젝티브 C++,

포트란 (gfortran), 자바 (gcj), 에이다 (GNAT), (gccgo)를 위한 프론트엔드가 포함되어 있습니다.


, 이용은 가능하지만 표준에는 포함되지 않은 것으로 파스칼 (gpc), 머큐리, Modula-2, Modula-3,

PL/I, D (gdc), VHDL (ghdl)가 있다. 잘 알려진 병렬 언어 확장 OpenMP도 지원합니다.


따라서 리눅스에서 개발할 수 있는 언어가 많으며 다양한 언어를 이용해서 개발할 수 있다는 장점이 있습니다.


댓글