Распределяется ли память кода функции-члена класса один раз или при каждом создании объектов? - PullRequest
1 голос
/ 24 апреля 2011

У меня есть сомнения по поводу этого вопроса, а не относительно конкретного языка: когда я пишу класс, может быть, на C ++ или Java, память для кода функции-члена выделяется один раз или при каждом экземпляре? Так что, в некоторых случаях, лучше написать их как статические?

спасибо за ответы

1 Ответ

2 голосов
/ 24 апреля 2011

Нет, часть данных кода загружается отдельно от исполняемого раздела, когда ОС загружает вашу программу в память. Обычно они находятся в разных областях памяти (обычно исполняемый раздел доступен только для чтения).

Таким образом, он в основном переходит к исполняемой части при вызове метода с другим контекстом в стеке.

Вы можете проверить эту отличную статью на линкерах: http://www.lurklurk.org/linkers/linkers.html

Вы поймете, как программа загружается в память и выполняется.

...