Почему эта тривиальная программа получается такой большой после компиляции?

Я создал файл, содержащий следующую строку:

int main() { return 0; }

После компиляции я с удивлением обнаружил, что бинарник этой простой программы составляет 8328 байт! Что здесь происходит и что делает двоичный файл в этих 8328 байтах? Наверняка эта программа может быть выражена всего в нескольких строчках ассемблера.

Примечание :Я скомпилировал это со следующей строкой:

g++ main.cpp

Моя версия g++g++ (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1

11
задан Cory Klein 30 July 2012 в 16:31
поделиться