logo

GCC 리눅스

Linux에서 GCC는 다음을 의미합니다. GNU 컴파일러 컬렉션 . 다양한 프로그래밍 언어를 위한 컴파일러 시스템입니다. 주로 C 및 C++ 프로그램을 컴파일하는 데 사용됩니다. 필요한 인수로 소스 프로그램의 이름을 사용합니다. 디버깅, 경고, 개체 파일 및 라이브러리 연결과 같은 나머지 인수는 선택 사항입니다.

GCC는 GNU 툴체인의 핵심 구성 요소입니다. Linux 커널 및 GNU 도구와 같은 다양한 오픈 소스 프로젝트가 GCC를 사용하여 컴파일됩니다.

GPL(General Public License)에 따라 배포됩니다. 첫 번째 버전, GCC 1.0 는 1987년에 출시되었습니다. C 프로그래밍 언어 전용이었으나 같은 해에 다음 언어로 확장되었습니다. C++ 프로그래밍 언어 . 나중에 Objective-C, Objective-C++, Fortran과 같은 다른 프로그래밍 언어용으로 개발되었습니다. 자바 , Ada, Go 등이 있습니다. 최신 버전에는 프로그래밍 언어 구현이 크게 향상되었습니다.

GNU OS의 공식 파트너입니다. 따라서 Linux 기반 시스템의 표준 컴파일러로 채택되었습니다.

현지 날짜 시간 자바

GCC의 구성 요소

GCC는 이식 가능한 도구이며 다양한 운영 체제에서 실행될 수 있습니다. 또한 다음으로 이식될 수도 있습니다. 윈도우 다음과 같은 도구를 사용하여 Cygwin, MinGW 및 MinGW-W64 . GNU 툴체인의 핵심 구성요소이므로 애플리케이션 및 운영 체제 개발을 위한 다음 구성요소가 포함되어 있습니다.

GNU 컴파일러 컬렉션(GCC): C/C++ 및 Objective-C/C++와 같은 많은 언어를 위한 컴파일러 제품군입니다.

GNU 제조사: 애플리케이션을 컴파일하고 빌드하는 데 사용되는 자동화 도구입니다.

GNU Binutils: 다음과 같은 바이너리 유틸리티 도구가 포함된 제품군입니다. 링커 그리고 어셈블러 .

GNU 디버거(GDB). 응용 프로그램을 디버깅하는 데 사용됩니다.

GNU 자동 도구: Autoconf, Autoheader, Automake 및 Libtool과 같은 일부 유틸리티 도구가 포함된 빌드 시스템입니다.

GNU 들소: lex 및 yacc와 같은 파서 생성기입니다.

GCC 컴파일러 프로세스

GCC는 다음 네 단계를 통해 프로그램을 컴파일하고 실행 가능하게 만듭니다.

GCC 리눅스

전처리: 이 단계에서 GNU 전처리기(cpp.exe)는 소스 코드가 포함된 중간 파일을 생성합니다. 전처리기는 헤더(#include)를 포함하고 매크로(#define)를 확장합니다. 아래 명령을 고려하십시오.

 cpp hello.c > hello.i 

위 명령은 중간 파일 'hello.i'를 생성합니다.

편집: 이 단계에서는 전처리된 소스 코드를 특정 프로세서용 어셈블리 코드로 컴파일합니다.

 gcc -S hello.i 

위의 명령은 'hello.s' 어셈블리 파일을 생성합니다. '-s' 옵션은 객체 코드가 아닌 어셈블리 코드를 생성하도록 지정하는 데 사용됩니다.

집회: 어셈블리 코드는 기계어 코드로 변환됩니다. 그러면 'hello.o'라는 개체 파일이 생성됩니다.

 as -o hello.o hello.s 

링커: 링커(ld.exe)는 컴파일러 프로세스의 마지막 단계입니다. 객체 코드를 라이브러리 코드와 연결하여 실행 파일을 생성합니다.

 ld -o hello.exe hello.o 

위 명령을 실행하면 'hello.exe' 실행 파일이 생성됩니다.

Linux에 GCC 설치

기본적으로 가장 많은 Linux 배포판과 함께 제공됩니다. 아래 명령을 실행하여 확인할 수 있습니다.

 gcc -version 

위 명령은 설치된 GCC 도구 버전을 표시합니다. 설치되어 있지 않은 경우 아래 단계에 따라 설치하십시오.

1단계: 패키지 목록을 업데이트합니다.

패키지 목록을 업데이트하려면 다음 명령을 실행하십시오.

 sudo apt update 

시스템 관리 비밀번호를 묻는 메시지가 나타나면 비밀번호를 입력하세요. 시스템 패키지 업데이트가 시작됩니다. 아래 출력 스냅을 고려하십시오.

GCC 리눅스

2단계: 빌드 필수 패키지를 설치합니다.

gcc, g++, make 유틸리티 등 다양한 패키지가 포함되어 있습니다. 아래 명령을 실행하여 설치하십시오.

 sudo apt install build-essential 

위 명령은 GCC 유틸리티에 필요한 패키지를 설치합니다. 이제 우리 컴퓨터에서 GCC 유틸리티를 사용할 수 있습니다. 아래 출력 스냅을 고려하십시오.

GCC 리눅스

3단계: 설치를 확인합니다.

설치를 확인하려면 다음과 같이 gcc -version 명령을 실행하십시오.

 gcc --version 

설치된 GCC 유틸리티 버전이 표시됩니다. 버전에 대한 보다 구체적인 세부 정보를 표시하려면 '-v' 옵션을 사용하세요. 아래 출력을 고려하십시오.

GCC 리눅스

여기서는 GCC 유틸리티를 성공적으로 설치했습니다. 이해해서 사용해보자. GCC를 사용하여 일부 c 프로그램을 만들고 실행해 보겠습니다.

gcc로 첫 번째 C 프로그램 실행

기본 만들기 C 프로그램 '안녕하세요!'. 'hello.c' 파일을 만들고 아래 코드를 입력하세요.

 #include int main() { printf('Hello, world!
'); return 0; } 

이제 hello.c를 다음과 같이 컴파일합니다.

맥 운영 체제
 gcc hello.c 

hello.c를 직접 실행하면 오류가 발생합니다. 실행 가능하게 만들면 Linux 시스템의 기본 실행 파일은 a.out입니다. 파일을 실행하려면 다음과 같이 chmod 명령을 실행하십시오.

 chmod a+x a.out 

이제 다음과 같이 c 프로그램을 실행합니다.

 ./a.out 

아래 출력을 고려하십시오.

GCC 리눅스

GCC 명령 예

gcc 명령의 유용한 예는 다음과 같습니다.

    개체 파일 이름을 지정합니다.

기본적으로 gcc 명령은 다음과 같이 객체 파일을 생성합니다. 'a.out .' 기본 출력 파일 이름을 변경하려면 '-영형' 옵션.

기본 gcc 명령을 실행해 보겠습니다.

 gcc hello.c 

위의 명령은 'a.out' 객체 파일을 생성합니다. 개체 파일 이름을 지정하려면 다음과 같이 명령을 실행합니다.

 gcc hello.c -o hello 

출력 파일 'hello'가 생성됩니다. 아래 출력을 고려하십시오.

GCC 리눅스
    모든 경고 활성화

출력에서 모든 경고를 활성화하려면 다음을 사용하십시오. '-벽' gcc 명령을 사용한 옵션. hello.c의 메인 함수에 변수를 만들어 보겠습니다. 아래 코드를 고려해보세요:

안녕하세요.c:

 #include int main() { int a; printf('Hello, world!
'); return 0; } 

-Wall 옵션을 사용하여 위 코드를 컴파일하면 다음과 같습니다. 경고가 표시됩니다. 아래 명령을 실행하여 파일을 컴파일합니다.

 gcc -wall hello.c 

위의 명령은 경고를 표시합니다. 아래 출력을 고려하십시오.

GCC 리눅스
    컴파일 프로세스의 단계별 출력 생성

우리는 컴파일 프로세스의 단계별 출력만 생성할 수 있습니다.

전처리기 출력 생성

'-E' 옵션을 사용하면 전처리 출력만 생성할 수 있습니다. 아래 명령을 고려하십시오.

 gcc -E hello.c > hello.i 

위 명령에서 파일 '안녕.나' 전처리된 출력이 포함된 출력이 생성됩니다. 아래 출력을 고려하십시오.

GCC 리눅스

어셈블리 코드 생성

어셈블리 코드를 생성하려면 '-S' 옵션과 함께 명령을 실행하십시오. 아래 명령을 고려하십시오.

 gcc -S hello.c > hello.s 

위의 명령은 'hello.s'를 생성합니다. 어셈블리 코드가 포함된 파일입니다. 아래 출력을 고려하십시오.

GCC 리눅스

컴파일된 코드 생성

스캔.다음 자바

'-C' 옵션을 사용하면 컴파일된 코드만 생성할 수 있습니다. 아래 명령을 고려하십시오.

 gcc -C hello.c 

위의 명령은 기계어 또는 컴파일된 코드만 포함하는 'a.out' 파일을 생성합니다. 아래 출력을 고려하십시오.

GCC 리눅스

컴파일 프로세스의 모든 중간 파일을 생성합니다.

'-save-temp' 옵션을 사용하여 컴파일 프로세스의 모든 중간 파일을 생성할 수 있습니다. 아래 출력을 고려하십시오.

 gcc -save-temps hello.c 

위의 명령은 모든 중간 파일과 실행 파일을 한 번에 생성합니다. 아래 출력을 고려하십시오.

GCC 리눅스
    출력을 자세히 인쇄합니다.

gcc 명령으로 수행된 모든 단계에 대한 자세한 정보를 표시할 수 있습니다. 이렇게 하려면 '-v' 옵션을 사용하여 명령을 실행하세요.

 gcc -W -v hello.c 

아래 출력 스냅을 고려하십시오.

GCC 리눅스

우리는 gcc 명령의 가장 유용한 몇 가지 예를 논의했습니다. gcc 명령은 수많은 옵션을 지원하므로 사용하는 동안 어디에서나 막힐 수 있습니다. 터미널에서 직접 도움을 받는 방법을 살펴보겠습니다.

GCC 매뉴얼

gcc 명령을 사용하는 동안 어디에서나 멈추는 경우 터미널에서 도움을 받을 수 있습니다. 명령줄에서 매뉴얼에 액세스하려면 다음과 같이 man 명령을 실행하십시오.

 man gcc 

위의 명령은 간략한 설명과 함께 지원되는 옵션 목록과 설명이 포함된 매뉴얼을 표시합니다. 아래 출력 스냅을 고려하십시오.

GCC 리눅스

자세한 내용을 보려면 출력을 스크롤할 수 있습니다. 도움말을 보려면 'h' 키를 누르고 설명서를 종료하고 터미널로 돌아가려면 q를 누르세요.