링커, 로더, 실행 파일

Linux에서 ldd 명령을 실행 파일에 사용하면 알 수 있는 것은?

  1. A그 실행 파일이 필요로 하는 공유 라이브러리와, 각각이 발견되는 위치
  2. B그 실행 파일의 소스 코드
  3. C그 실행 파일이 사용한 CPU 시간
정답과 해설 보기

정답: A. 그 실행 파일이 필요로 하는 공유 라이브러리와, 각각이 발견되는 위치

ldd는 동적 링크 실행 파일이나 공유 라이브러리가 사용하는 공유 라이브러리의 목록과, 각각이 어느 파일로 해석되는지를 표시합니다. 찾지 못한 것은 「not found」로 표시되므로 시작되지 않는 원인을 조사하는 데 도움이 됩니다. 다만 신뢰할 수 없는 실행 파일에 사용하면 안의 코드가 실행될 수 있으므로 주의가 필요합니다.

  • A. 올바릅니다. 의존 관계를 조사하는 데 사용합니다.
  • B. 소스 코드는 실행 파일에 포함되어 있지 않습니다.
  • C. CPU 시간은 time 명령 등으로 측정합니다.
이 분야 연습하기 분야로 돌아가기

링커, 로더, 실행 파일의 다른 문제

  1. 주요 OS에서 사용하는 실행 파일 형식의 조합으로 올바른 것은?
  2. 재귀가 너무 깊어져 스택의 상한을 넘었을 때, Linux 등에서 일반적으로 일어나는 일로 올바른 것은?
  3. C 언어에서 초깃값을 쓰지 않은 지역 변수와 전역 변수의, 사용을 시작했을 때의 값에 대한 설명으로 올바른 것은?
  4. malloc과 free를 반복하는 사이에, 빈 메모리의 합계는 충분한데도 큰 영역을 한꺼번에 확보하지 못하게 되는 경우가 있다. 이 현상을 무엇이라고 하는가?
  5. 공유 라이브러리를 만들 때, 외부에서 사용하는 함수만 공개하고 내부 함수는 심볼의 가시성(visibility)을 「hidden」으로 하는 이점으로 올바른 것은?

이 분야의 비교