링커, 로더, 실행 파일
위의 전역 변수 중 일반적으로 .bss 섹션에 놓이는 것의 조합은?
int a = 5;
int b;
static int c = 0;
const int d = 7;
- Aa와 b
- Bb와 c
- Cc와 d
정답과 해설 보기
정답: B. b와 c
a는 0이 아닌 초깃값이 있으므로 .data, b는 초깃값이 없어 0에서 시작하므로 .bss, c는 초깃값이 0이므로 파일에 0을 저장할 필요가 없어 .bss에 놓입니다. d는 const 상수이므로 쓰기 금지인 .rodata에 놓입니다. static은 다른 파일에서 보이는지를 정하는 것이며, 어느 섹션에 놓이는지는 초깃값과 const로 정해집니다.
- A. a는 초깃값 5가 있으므로 .data입니다.
- B. 올바릅니다. 초깃값이 없는 변수와 초깃값이 0인 변수입니다.
- C. d는 바뀌지 않는 상수이므로 .rodata입니다.