Ответ из приведенного выше обсуждения:
ОС присваивает каждую программу или экземпляр программы определенный блок памяти. Вы когда-нибудь пробовали получить доступ к случайной памяти? Большую часть времени ваша программа рушится. Это связано с управлением ОС. Если вы получаете доступ к памяти, не назначенной вам, ОС автоматически сбой вашей программы (функция безопасности).
Существует отдельная память для program
и память, которую program uses
. Память, предоставляемая программе для запуска (пространство, требуемое именем класса/функции и т. Д.), Отличается от любых переменных, которые вы назначили во время выполнения.
Все это предполагает, что ваша ОС поддерживает несколько процессов, выполняемых параллельно - очень старые или очень ограниченные встроенные системы могут даже не поддерживать это вообще. Многие доски, на которых вы работаете (в школе), не поддерживают что-то подобное, и вам приходится писать это самостоятельно.
Когда вы вызываете одну и ту же программу с отдельными файлами, каждый файл существует в пределах собственного пространства памяти. Нет, они не помечены как таковые. Не пытайтесь guess
, что имена после компиляции. Это просто не работает.
Почему?
1) Это зависит от компилятора. Различные компиляторы используют разные способы.
2) Это не человек для чтения (если ваш писать компилятор самостоятельно) (поправьте меня, если я ошибаюсь)
OS/компилятор дает им уникальное имя (не может зависеть от времени, зависимые от ОС или аа сто других вещей). Программы не знают друг о друге и работают в своем собственном пространстве.
Кредит: @Hulk @Mohammad Ali Baydoun
Операционная система. –
Расширяя это, ОС назначает каждой программе или экземпляру программы определенный блок памяти. Вы когда-нибудь пробовали получить доступ к случайной памяти? Большую часть времени ваша программа рушится. Это связано с управлением ОС. Если вы получаете доступ к памяти, не назначенной вам, ОС автоматически сбой вашей программы (функция безопасности) –
Итак, это похоже: экземпляр один -> у вас есть блок памяти 145 и экземпляр 2 -> у вас есть блок 186 памяти? Итак, экземпляры «забиты» внутри блока памяти? – Streight