ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
29 марта
1139412 Топик полностью
Guest_1 (18.10.2021 18:32, просмотров: 3) ответил Costic на Цитирую себя: "Хранятся все они в памяти". "Лишь область видимости" - это вы так читаете.
Цитирую также: "Static, как и extern, а также "древнеславянский" auto определяют область видимости - scope. Помещать в регистры и оптимизировать их компилятор может так, как считает нужным". І дальше - ни слова. 

Логичный вывод: зачем нам вообще static, если компилятор такой умный и все делает сам? Но на самом деле забыть о регистрах можно лишь в системах, где памяти завались и скорость процессора не критична. Например, те самые x86 системы, к которым вы привыкли и сплошь и рядом используете рекурсивные алгоритмы. А у компилятора IAR, например, даже откомпилированные библиотеки поставляются с предустановкой сколько auto-переменных помещаются в регистры перед тем, как начать размещать их на стеке. Хочете изменить такое поведение библиотек и сделать их реентрабельными - берете исходники библиотек, изменяете параметры, и перетрансируете их. Причем исходники библиотек в пакете поставляюся в запароленном виде и пароль получаете только после оплаты пакета. Я, правда, очень редко встречал людей, кто бы занимался такими вещами...

Собственно, вы и сами упоминали об этом, когда сравнивали компиляторы для МК и x86. Так что, думаю, можно считать наш диспут исчерпаным.