[an error occurred while processing this directive] [an error occurred while processing this directive]
Ничего не понял.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Бендер++ 14 марта 2002 г. 09:20
В ответ на: Ответ: сохраняется область памяти, где лежат локальные переменные, отправлено Jedi 14 марта 2002 г. 09:04

Локальные (по правилам) используют стек. Его указатель, смещаясь при вызове функции является гарантом того, что никто туда не полезет (из тех кто придерживается соглашений, конечно) до момента возврата из функции: ни прерывание, ни функция, вызванная из прерывания.
Если имеется ввиду, что одна и та же функция вызывается и из прерывания и из фоновой программы, то все равно, (если конечно она "правильная", т.е. реентерабельная) ничего не случится, т.к. каждый экземпляр функции будет пользоваться своим набором локальных переменных, т.е. своим участком стека.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru