링커, 로더, 실행 파일
Linux의 dlopen 함수(Windows의 LoadLibrary에 해당)의 용도로 가장 적절한 것은?
- A프로그램의 소스 코드를 열어서 편집한다
- B플러그인처럼 실행 중에 필요해진 공유 라이브러리를 읽어 들여 함수를 호출한다
- C파일을 열어서 안의 데이터를 읽고 쓴다
정답과 해설 보기
정답: B. 플러그인처럼 실행 중에 필요해진 공유 라이브러리를 읽어 들여 함수를 호출한다
일반적인 동적 링크에서는 사용할 공유 라이브러리가 시작할 때 정해져 있습니다. dlopen을 사용하면 실행 중에 이름을 지정해 라이브러리를 읽어 들이고, dlsym으로 함수의 주소를 꺼내 호출할 수 있습니다. 어떤 라이브러리를 쓸지 설정이나 사용자의 선택으로 정할 수 있으므로, 플러그인 구조나 있으면 쓰는 선택적 기능의 구현에 자주 쓰입니다.
- A. 소스 코드 편집과는 관계가 없습니다.
- B. 올바릅니다. 시작할 때가 아니라 필요해졌을 때 읽어 들입니다.
- C. 일반 파일을 여는 것은 fopen이나 open입니다.