[질문]elf 파일에서 bin 파일 생성시 사이즈가 더 커지는 문제입니다.
글쓴이: fat81 / 작성시간: 금, 2007/05/18 - 2:57오후
안녕하세요! 임베디드를 공부하는 학생입니다. arm 아키텍처 기반에서 프로그램을 짜던 중에 이상한 문제가 있어서 질문을 올립니다.
소스코드는 간단하게 다음과 같습니다.
#include <stdio.h> int a = 0; int main(void) { int b; b = a; return 0; }
파일 이름은 a.c 입니다.
그리고 나서 아래와 같이 컴파일 하고 생성된 elf 파일을 bin 파일로 생성했습니다.
#arm-linux-gcc -o a a.c #arm-linux-objcopy -O binary -R .note -R .comment -R .stab -R .stabstr -S a a.bin #ls -al -rwxr-xr-x 1 root root 7690 May 18 14:22 a -rwxr-xr-x 1 root root 34260 May 18 14:27 a.bin
제가 알기로 bin 파일은 elf 파일보다 elf 정보가 제거되기 때문에 사이즈가 작은 것으로 알고 있습니다. 혹시나 그냥 gcc 로 컴파일해서 objcopy 로 bin 파일을 만들었더니, 예상대로 elf 보다 사이즈가 작은 bin 파일이 생성되었습니다.
어떤 이유로 이런 현상이 나타나는지 모르겠습니다. 혹시 아시는 분 있으시면 답변 부탁드리겠습니다.
Forums:
파일 안을 직접
파일 안을 직접 보시는게 빠를 것으로 생각됩니다.
아마도 elf의 섹션간에 빈 공간이 넓게 있을 때 elf는 시작과 길이를 지정하는 방싟이지만 bin은 빈 공간을 정말로 빈 공간으로 채워넣기 때문에 크기가 늘어났을 것 같습니다.
Taeho Oh ( ohhara@postech.edu , ohhara@plus.or.kr ) http://ohhara.sarang.net
Postech ( Pohang University of Science and Technology ) http://www.postech.edu
Digital Media Professionals Inc. http://www.dmprof.com
Taeho Oh ( ohhara@postech.edu ) http://ohhara.sarang.net
Postech ( Pohang University of Science and Technology ) http://www.postech.edu
Alticast Corp. http://www.alticast.com
댓글 달기