В языках программирования, таких как C и С++, люди часто ссылаются на распределение статической и динамической памяти. Я понимаю концепцию, но фраза "Вся память была выделена (зарезервирована) во время компиляции" всегда меня смущает.
Компиляция, как я понимаю, преобразует код высокого уровня C/С++ в машинный язык и выводит исполняемый файл. Как выделяется память в скомпилированном файле? Разве память не всегда распределяется в ОЗУ со всеми файлами управления виртуальной памятью?
Не является ли выделение памяти по определению концепцией времени выполнения?
Если я создаю статически выделенную переменную 1 Кбайт в моем коде на C/С++, это увеличит размер исполняемого файла на ту же сумму?
Это одна из страниц, где фраза используется под заголовком "Статическое распределение".
Назад к основам: распределение памяти, переход вниз по истории