Все они уходят в память.Теперь определение «в памяти» зависит от операционной системы, параметров компилятора и компоновщика, формата исполняемого файла и миллиона других факторов.
Во многих современных операционных системах при создании процесса исполняемый файлотображается в память (это означает, что область памяти была зарезервирована для исполняемого файла, но это не означает, что исполняемый файл был загружен в это место).
Некоторые ОС загружают части исполняемого файла при обращении к нему(см. «отложенная загрузка»), что более распространено для динамически загружаемых библиотек (DLL в Windows и Shared Objects в UNIX-подобных системах).Это в основном влияет на текущее «расположение» функций, они находятся «на диске» как исполняемый файл, или «в памяти», если эта часть исполняемого файла была отображена.
Переменные и все другие данные программыидти в память.Тем не менее, любая ОС, работающая с виртуальной памятью, может по своему усмотрению поменять все рабочее состояние вашей программы (включая стек и кучу) на диск, а затем восстановить его, чтобы продолжить работу вашей программы.
В заключение,все элементы в вашем списке (переменные, функции и т. д.) находятся в памяти, хотя в этом случае они не могут постоянно храниться в «физической памяти».