15장. GCC를 사용하여 코드 빌드


이 장에서는 소스 코드를 실행 코드로 변환해야 하는 상황을 설명합니다.

15.1. 코드 양식 간의 관계

사전 요구 사항

  • 컴파일 및 연결의 개념 이해

가능한 코드 양식

C 및 C++ 언어를 사용하는 경우 다음 세 가지 형식의 코드가 있습니다.

  • C 또는 C++ 언어로 작성된 소스 코드는 일반 텍스트 파일로 표시됩니다.

    일반적으로 파일은 .c,. cc,. cpp,. h,. hpp,. i,. inc 등의 확장 프로그램을 사용합니다. 지원되는 확장 기능 및 해석의 전체 목록은 gcc 도움말 페이지를 참조하십시오.

    $ man gcc
  • 컴파일러 로 소스 코드를 컴파일 하여 생성된 개체 코드입니다. 이는 중간 형식입니다.

    오브젝트 코드 파일은 .o 확장자를 사용합니다.

  • 개체 코드를 링커연결하여 만든 실행 코드.

    Linux 애플리케이션 실행 파일은 파일 이름 확장자를 사용하지 않습니다. 공유 오브젝트(library) 실행 파일은 .so 파일 이름 확장자를 사용합니다.

참고

정적 연결을 위한 라이브러리 아카이브 파일도 존재합니다. 이는 .a 파일 이름 확장자를 사용하는 오브젝트 코드의 변형입니다. 정적 연결은 권장되지 않습니다. 16.2절. “정적 및 동적 연결”을 참조하십시오.

GCC에서 코드 양식 처리

소스 코드에서 실행 가능한 코드를 생성하려면 서로 다른 애플리케이션 또는 도구가 필요한 두 단계가 필요합니다. GCC는 컴파일러와 링커 모두에 대한 지능형 드라이버로 사용할 수 있습니다. 이를 통해 필요한 작업에 단일 명령 gcc 를 사용할 수 있습니다. GCC는 필요한 조치(compiling and linking) 및 해당 시퀀스를 자동으로 선택합니다.

  1. 소스 파일은 오브젝트 파일로 컴파일됩니다.
  2. 오브젝트 파일과 라이브러리가 연결되어 있습니다(이전 컴파일된 소스 포함).

1단계만 발생하거나, 2단계만 발생하거나, 1단계와 2단계 모두 발생하도록 GCC를 실행할 수 있습니다. 이는 입력 유형 및 요청된 출력 유형에 따라 결정됩니다.

대규모 프로젝트에는 일반적으로 GCC를 각 작업에 대해 별도로 실행하는 빌드 시스템이 필요하므로 GCC를 한 번에 모두 수행할 수 있더라도 컴파일 및 두 가지 작업으로 연결하는 것이 좋습니다.

추가 리소스

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.