개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.07.09 10:20

--enable-static-support 옵션에 대한 이해

목록
  • 화이트해커연구가 9일 전 2025.07.09 10:20 인기
  • 140
    1
제가 현재 Linux 시스템에서 C 언어를 컴파일하는 과정을 공부 중인데,
--enable-static-support 옵션에 대해 이해가 잘 안 가는 점이 있습니다.

--enable-static-support 옵션을 사용하면 어떤 영향을 미치는 건가요?
static 라이브러리와 dynamic 라이브러리의 차이점과,
이 옵션을 사용하면 어떤 장점과 단점이 있는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  9일 전



    --enable-static-support 옵션은 C 언어 컴파일러에 의해 생성되는 라이브러리의 형태를 결정하는 옵션입니다. 이 옵션을 사용하면, 컴파일러는 라이브러리를 정적 라이브러리(static library)로 생성합니다.

    정적 라이브러리란, 프로그램에 포함된 라이브러리의 코드와 데이터를 프로그램에 직접 포함시켜, 프로그램이 실행될 때 라이브러리를 로드하지 않습니다. 따라서, 프로그램의 크기가 증가하고, 프로그램을 배포할 때 라이브러리를 함께 배포해야 하므로, 프로그램의 배포가 어려울 수 있습니다.

    반면, 동적 라이브러리(dynamic library)는 프로그램이 실행될 때 라이브러리를 로드하므로, 프로그램의 크기가 줄어들고, 프로그램을 배포할 때 라이브러리를 함께 배포할 필요가 없습니다. 그러나, 프로그램이 라이브러리를 로드하는 과정이 필요하므로, 프로그램의 실행 속도가 느려질 수 있습니다.

    --enable-static-support 옵션을 사용하면, 프로그램의 크기가 증가하고, 프로그램을 배포할 때 라이브러리를 함께 배포해야 하지만, 프로그램의 실행 속도가 느리지 않습니다. 이 옵션을 사용하는 장점은, 프로그램의 보안이 향상되고, 프로그램의 의존성이 줄어듭니다.

    그러나, 이 옵션을 사용하는 단점은, 프로그램의 크기가 증가하고, 프로그램을 배포할 때 라이브러리를 함께 배포해야 하므로, 프로그램의 배포가 어려울 수 있습니다. 또한, 프로그램의 의존성이 줄어들지 않기 때문에, 프로그램의 유지보수가 어려울 수 있습니다.

    따라서, --enable-static-support 옵션을 사용하는 경우, 프로그램의 크기가 증가하고, 프로그램을 배포할 때 라이브러리를 함께 배포해야 하므로, 프로그램의 배포가 어려울 수 있습니다. 그러나, 프로그램의 보안이 향상되고, 프로그램의 의존성이 줄어듭니다.

    2025-07-09 10:21

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 37,085건 / 16 페이지

검색

게시물 검색