Язык Си проектировался как
близко сопоставимый с машинными инструкциями. Некоторые утверждают, что программировать на нём почти так же эффективно, как на ассемблере. Я новичок в этом языке и решил провести небольшой эксперимент, чтобы посмотреть сколько займёт пустая программа со следующим кодом:
int main () {
return 0;
}
Компилятор gcc 4.4.7 на Red Hat 6.7 создаёт бинарник в 6307 байт.
Насколько я понимаю, это гораздо больше, чем занимают аналогичные инструкции на ассемблере.
Вопрос: чем занимается оставшееся пространство и можно ли это как-то конфигурировать?
На всех ли платформах и компиляторах аналогичная ситуация? Как она решается, например, на микроконтроллерах, где памяти меньше?