GCC(GNU Compiler Collection)은 여러 프로그래밍 언어를 컴파일할 수 있는 강력한 컴파일러 모음집이다. 처음에는 C언어의 컴파일러로 시작했지만, 현재는 C++, Ada 등 다양한 언어를 지원한다.
오픈 소스로 제공되기 때문에 누구나 자유롭게 사용하고 수정할 수 있다는 점이 큰 장점이다.
GCC의 동작 과정
- 전처리 (Preprocessing): 전처리는 소스 코드에서 #include, #define과 같은 전처리 지시자를 처리하는 단계이다.
- 컴파일 (Compilation): 전처리된 코드를 어셈블리 언어로 변환하는 단계이다.
- 어셈블 (Assembly): 어셈블리 코드를 기계어로 변환하는 단계이다.
- 링크 (Linking): 여러 개의 목적 파일들을 결합하고, 외부 라이브러리와 연결하여 최종 실행 파일을 만드는 단계이다
GCC를 이용하여 프로그램을 컴파일하는 방법이다.
gcc hello.c -o hello
hello.c는 소스파일, -o hello는 컴파일 결과로 hello라는 실행 파일이 생성된다.
728x90
'C언어' 카테고리의 다른 글
[C언어] 인라인(inline) 함수란? (0) | 2024.10.21 |
---|---|
[C언어] 타입 한정자(type qualifiers)란? (0) | 2024.10.18 |
[C언어] 다중 평가 문제 (0) | 2024.10.17 |
[C언어] typedef uint8_t BOOL (2) | 2024.10.17 |
[C언어] 댕글링 포인터(Dangling Pointer)란? (0) | 2024.10.15 |