Почему статические переменные адресуются напрямую, в то время как местные жители адресуются косвенно? Я не могу видеть, где косвенное направление происходит для местных жителей!Режимы адресации для статических и локальных переменных
ответ
В языках, разрешающих использование функций рекурсивно, местные жители должны обращаться косвенно (через указатель стека).
C, однако, имеет также статические локальные переменные, поэтому static
и local
не обязательно являются взаимоисключающими концепциями.
@Ingro Я вижу, поэтому сначала мы вычисляем адрес локальной переменной, а затем считываем данные с адреса вычисленной памяти. Правильно? – saadtaame
Это зависит, конечно, от реализации, но обычно нужно, чтобы регистр (указатель стека) указывал на верхнюю/нижнюю часть стека, а затем каждая локальная переменная имела известное смещение от этого указателя стека. – Ingo
- 1. Различные режимы адресации текстур CUDA
- 2. Вызов локальных переменных в других статических методах?
- 3. Поддерживает ли C# использование статических локальных переменных?
- 4. Как VC++ изменяет имена локальных статических переменных?
- 5. Микроконтроллер MSP430 - как проверить режимы адресации
- 6. режимы адресации в PDP-11 Assembler
- 7. Как режимы адресации работают на физическом уровне?
- 8. параметров для статических переменных
- 9. Статическая инициализация локальных переменных
- 10. Быстрый один о статических локальных переменных в JS
- 11. Как дополнение работает для локальных и статических переменных в C и сборке
- 12. Адрес локальных и глобальных переменных
- 13. Несрочная инициализация локальных статических объектов?
- 14. Ленивая инициализация статических локальных данных
- 15. Использование константы для локальных переменных
- 16. Extern для глобальных и статических глобальных переменных
- 17. Структура для эмуляции экземпляра и статических переменных?
- 18. Оптимизация для глобальных и статических переменных
- 19. fork() и изменение локальных переменных?
- 20. Монтаж локальных переменных и параметров
- 21. Python: UnboundLocalError для локальных переменных
- 22. Режимы адресации на языке ассемблера (IA-32 NASM)
- 23. Использование и использование статических переменных
- 24. Использование extern для статических переменных
- 25. Инициализация для конечных статических переменных
- 26. C статических переменных и инициализация
- 27. Понимание синглтонов и статических переменных
- 28. о статических методах и переменных
- 29. отображение памяти для статических переменных
- 30. Чтение и запись длинных и двойных локальных переменных в Java
Вы не предоставляете достаточно контекста, чтобы дать хороший ответ на этот вопрос. Какой язык программирования; какой компилятор и т. д. вы говорите? –
@DonStewart gcc. – saadtaame