링커, 로더, 실행 파일
C 언어의 malloc으로 확보한 메모리는 일반적으로 프로세스의 어느 영역에서 가져오는가?
- A.text 섹션
- B힙
- C.rodata 섹션
정답과 해설 보기
정답: B. 힙
힙은 프로그램 실행 중에 필요한 크기의 메모리를 확보하고, 필요 없어지면 free로 반환하는 영역입니다. 확보하는 크기나 수명을 실행 시에 정할 수 있다는 것이 특징입니다. malloc은 스스로 빈 영역을 관리하다가 부족해지면 OS에 요청해 영역을 넓힙니다(Linux에서는 brk나 mmap 시스템 콜). free를 잊으면 쓰지 않는 메모리가 계속 남는 메모리 누수가 됩니다.
- A. .text는 기계어 영역이며 쓸 수 없습니다.
- B. 올바릅니다. 실행 중에 필요한 만큼 확보하는 영역입니다.
- C. .rodata는 쓰기 금지인 상수 영역입니다.