링커, 로더, 실행 파일
정적 링크에 대한 설명으로 올바른 것은?
- A사용하는 라이브러리의 코드를 실행 파일 안에 복사하여 결합한다
- B프로그램을 실행할 때마다 라이브러리를 읽어 들여 결합한다
- C라이브러리를 쓰지 않고 모든 처리를 하나의 소스 파일에 쓴다
정답과 해설 보기
정답: A. 사용하는 라이브러리의 코드를 실행 파일 안에 복사하여 결합한다
정적 링크에서는 링커가 정적 라이브러리(Linux에서는 .a 파일)에서 필요한 함수를 꺼내 실행 파일에 포함시킵니다. 실행 환경에 라이브러리가 없어도 동작하고 시작할 때 결합하는 수고도 없지만, 실행 파일이 커지고 같은 라이브러리를 쓰는 프로그램마다 사본을 가지게 됩니다. 라이브러리의 결함이 수정되어도 다시 빌드하지 않으면 반영되지 않습니다.
- A. 올바릅니다. 실행 파일만으로 동작합니다.
- B. 그것은 동적 링크입니다.
- C. 라이브러리를 쓰는지 여부와는 별개의 이야기입니다.