В каком количестве команд отображаются глобальные и статические переменные? Как известно, локальные или автоматические переменные извлекаются в 1 инструкции микропроцессора, сколько команд задано глобальными и статическими переменными? Оно стоит так же, как выбор динамических переменных из кучи? или немного меньше.В каком количестве команд отображаются глобальные и статические переменные?
ответ
В зависимости от архитектуры и контекста компьютера. Спецификация C не указывает это, и это будет зависеть от того, какой компилятор и какие параметры оптимизации вы используете.
Ответ может быть один из:
(а) тысячи, так как глобальная переменная в памяти, которая в настоящее время не отображается, поэтому доступ к ней вызывает исключение, которое вызывает операционную систему для загрузки страницы.
(b) Многие, поскольку глобальная переменная находится в динамической библиотеке, которая должна быть загружена и связана до того, как переменная будет доступна.
(c) Несколько, поскольку адрес переменной должен быть собран из деталей и/или информации о перемещении.
(d) Один из них, поскольку адрес вычисляется из непосредственных данных в инструкции и/или данных уже в регистрах, таких как глобальный указатель данных.
(e) Нуль, поскольку оптимизация сохранила переменную в регистре из предыдущих операций.
В каком количестве команд отображаются глобальные и статические переменные?
В любом месте от нуля (уже в кеше в регистре) для многих в зависимости от многих факторов.
Как мы знаем локальный или автоматические переменные выбираются в 1 инструкции микропроцессора [...]
Мы не знаем об этом, так как это не так для большинства объектов больше, чем какая-то реализация -специфический предел. И тогда есть C Переводчики где этот предел может быть 0 и все загрузок требуют десятков, если не сотни инструкций.
- 1. Статические классы и глобальные переменные
- 2. Переменные типы глобальные, статические, локальные и автоматические
- 3. Когда инициализируются статические и глобальные переменные?
- 4. C локальные и глобальные статические переменные
- 5. Тесты блоков Android и глобальные статические переменные
- 6. Как использовать статические глобальные переменные в JAVA
- 7. Статические глобальные С-подобные переменные в Ruby
- 8. статические и внешние глобальные переменные в C и C++
- 9. Статические методы или нет? Глобальные переменные?
- 10. Как использовать глобальные/статические переменные OBJ-C
- 11. Сделать глобальные статические переменные многопоточными безопасными
- 12. Когда инициализируются глобальные статические константные переменные?
- 13. статические переменные как глобальные, а когда статические объекты собирают мусор?
- 14. Являются ли статические классы и методы плохими? Глобальные переменные нахмурились?
- 15. Почему глобальные и статические переменные инициализируются значениями по умолчанию?
- 16. Статические переменные в c
- 17. Статические переменные в Android
- 18. Статические переменные в C и C++
- 19. Статические/глобальные переменные в общей библиотеке в языке C
- 20. Статические, глобальные и множественные единицы перевода
- 21. C# Webservice и статические переменные
- 22. Глобальные глобальные переменные Django
- 23. Valgrind и глобальные переменные
- 24. Zeptojs и $ (глобальные переменные)
- 25. MPI и глобальные переменные
- 26. стек и глобальные переменные
- 27. WordPress и глобальные переменные
- 28. ListView и глобальные переменные
- 29. Глобальные и локальные переменные
- 30. dlopen и глобальные переменные в C/C++
Я уверен, что спецификация C не указывает, сколько инструкций требуется для выборки переменных, и что количество необходимых им команд является компилятором и зависит от реализации. –
Ответ будет зависеть от используемого вами компилятора и процессора. Лучший способ узнать конкретную комбинацию компилятора и процессора - это собрать пример программы, разобрать ее и посмотреть инструкции, которые производит компилятор. – Simon
Время, чтобы начать просмотр сборки и чтения документации по процессору. –