블로그 이미지
.
속눈썹맨

공지사항

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

디버그 옵션에 따른 C++ 프로그램의 크기

2005. 5. 27. 16:03 | Posted by 속눈썹맨
$ cat ./inc.cpp
#include <iostream>

int main()
{
    for (int i = 0 ; i < 1000000; i++)
    {

    }

    return 0;
}

$ g++ ./inc.cpp -g -Wall -S -o ./inc.g.s
$ g++ ./inc.cpp -O0 -Wall -S -o ./inc.s

$ g++ ./inc.cpp -g -Wall -o ./inc.g.out
$ g++ ./inc.cpp -O0 -Wall -o ./inc.out

$ wc inc.s
    208     392    3311 inc.s
$ wc inc.g.s
  31507   61063  455649 inc.g.s

$ ls ./inc.out -al
-rwxrwxr-x    1 ilashman ilashman    12735  5월 27 16:03 ./inc.out
$ ls ./inc.g.out -al
-rwxrwxr-x    1 ilashman ilashman   120275  5월 27 16:02 ./inc.g.out

아주 간단한 프로그램에서 debug옵션을 넣으면 assembly code 크기는 150배,
binary 크기는 10배 커졌다.