2016-07-14 4 views
0

위키 백과는 .bss 섹션이 개체 파일의 실제 공간을 차지하지 않는다고 말하면서 objdump 정보에서 실제로 크기가인 항목을 찾습니다. 그래서 문제는 객체 파일에 존재하는 그런 빈 섹션의 필요성이 무엇인가하는 것입니다. .bss는 단지 .rel로, 오히려 .oa.out 파일 모두 실행 파일에 추가 할 수없는 이유는 무엇오브젝트 파일에서 .bss 섹션의 필요성은 무엇입니까?

는 오브젝트 파일에 나타납니다.

업데이트 : 나는 재배치 과정을 오해 한 것 같습니다. 처음에는 실행 파일이 링커에 의해 처음부터 생성되었다고 생각하고 Downvoters의 주석을 본 후에 잘못된 것으로 변합니다.

+1

나는 당신의 질문을 정말로 이해하지 못합니다. 실행 파일의 섹션은 실행 파일이 구성하는 오브젝트 파일의 섹션이므로 실행 파일이 섹션에 포함되어 있지 않으면 오브젝트 파일에 정의해야합니다. – Downvoter

답변

0

코드에서 전역 변수 int arr[1000000]을 선언했다고 가정합니다. 이 정보가 오브젝트 파일에 없으면 실행 가능으로도 들어갈 수 없습니다. 그리고 쓰레기 이외의 정보를 담기 위해 객체 파일의 크기를 늘리는 것은 의미가 없습니다. 실행 가능 이미지와 동일한 유지. 플래시 메모리 요구 사항이 증가하고 아무런 도움이되지 않습니다. RAM에 이미지를로드하는 동안이 영역을 할당해야합니다.

관련 문제