17.4. GCC 및 ar를 사용하여 정적 library 생성


정적 링크를 위한 라이브러리를 생성할 수 있는 경우 오브젝트 파일을 특수 유형의 아카이브 파일로 변환할 수 있습니다.

참고

Red Hat은 보안상의 이유로 정적 링크 사용을 권장하지 않습니다. 특히 Red Hat에서 제공하는 라이브러리에 대해 필요할 때만 정적 링크를 사용합니다. 16.2절. “정적 및 동적 연결”을 참조하십시오.

사전 요구 사항

절차

  1. GCC를 사용하여 중간 개체 파일을 만듭니다.

    $ gcc -c source_file.c ...

    필요한 경우 소스 파일을 더 추가합니다. 결과 오브젝트 파일은 파일 이름을 공유하지만 .o 파일 이름 확장자를 사용합니다.

  2. binutils 패키지의 ar 툴을 사용하여 오브젝트 파일을 정적 라이브러리(아카이브)로 전환합니다.

    $ ar rcs libfoo.a source_file.o ...

    libfoo.a 파일이 생성됩니다.

  3. nm 명령을 사용하여 결과 아카이브를 검사합니다.

    $ nm libfoo.a
  4. 정적 라이브러리 파일을 적절한 디렉터리에 복사합니다.
  5. 라이브러리를 연결할 때 GCC는 라이브러리가 정적 연결을 위한 아카이브인 .a 파일 이름 확장자에서 자동으로 인식됩니다.

    $ gcc ... -lfoo ...

추가 리소스

  • ar 툴을 위한 Linux 도움말 페이지:

    $ man ar
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.