17.3. GCC를 사용하여 동적 library 생성


동적으로 연결된 라이브러리(공유 오브젝트)를 사용하면 코드 재사용 및 라이브러리 코드 업데이트를 통해 리소스 보존을 수행할 수 있습니다. 이 섹션에서는 소스에서 동적 라이브러리를 빌드하고 설치하는 단계를 설명합니다.

사전 요구 사항

절차

  1. 라이브러리 소스를 사용하여 디렉터리로 변경합니다.
  2. 위치 독립적인 코드 옵션을 사용하여 각 소스 파일을 오브젝트 파일로 컴파일 -fPIC:

    $ gcc ... -c -fPIC some_file.c ...

    오브젝트 파일의 이름은 원본 소스 코드 파일과 동일하지만 해당 확장자는 .o 입니다.

  3. 오브젝트 파일에서 공유 라이브러리를 연결합니다.

    $ gcc -shared -o libfoo.so.x.y -Wl,-soname,libfoo.so.x some_file.o ...

    사용되는 주요 버전 번호는 X이고 마이너 버전 번호는 Y입니다.

  4. libfoo.so.x.y 파일을 시스템의 동적 링커가 찾을 수 있는 적절한 위치에 복사합니다. Red Hat Enterprise Linux에서 라이브러리 디렉터리는 /usr/lib64 입니다.

    # cp libfoo.so.x.y /usr/lib64

    이 디렉터리의 파일을 조작하려면 루트 권한이 필요합니다.

  5. soname 메커니즘에 대한 심볼릭 링크 구조를 생성합니다.

    # ln -s libfoo.so.x.y libfoo.so.x
    # ln -s libfoo.so.x libfoo.so

추가 리소스

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.