Сколько памяти занимает функция в си?
Не прошу помощи, "сабж" удалил. Просто интересуюсь. Тема информативна при наличии вменяемого ответа.
Сколько памяти занимает функция в си?
Функции же разные бывают, main например :-)
Функции же разные бывают, main например :-)
Какая разница какая функция? Объем ее зависит от количества операторов и передаваемых ей параметров.
Какая разница какая функция? Объем ее зависит от количества операторов и передаваемых ей параметров.
а ещё от того, что захочет с ней сделать левая задняя нога компилятора...
вопрос сам по себе не корректен... как минимум не хватает «где занимает».
если в elf-бинарнике, то можно определить, например, раскурив вывод objdump'а...
[quote="yars"]Функции же разные бывают, main например :-)
Какая разница какая функция? Объем ее зависит от количества операторов и передаваемых ей параметров.[/quote]
Ничего подобного!
- объём компилированного кода (секция .text) зависит от самого кода, во что скомпилируется ... но может в разы отличаться от уровня оптимизации, с которым сделана компиляция;
- параметры (хоть на мегабайт) никак не влияют на объём занимаемой памяти ... функцией (сам вопрос какой-то бестолковый o_O ) - параметры + все локально определяемые переменные размещаются в стеке, и там же уничтожаются;
- при рекурсивных вызовах, например, функция может потребовать в тысячи раз больше памяти, чем само размещение её кода...
- статические переменные размещаются совершенно особо (секция .data), причём инициализированные и неинициализированные переменнные хранятся и размещаются по-разному;
Так что вопрос - довольно бессмысленный! @=