операционная система зацикливает вопрос переменной стека - PullRequest
0 голосов
/ 01 сентября 2011
cout << "blah blah blah";
for (int i=0; i < n; i++)
{
 cout << '#' << endl;;
}
cout << "blah blah blah";

целое число i в кадре стека? если целое число может использоваться только в цикле, как операционная система отслеживает, какие переменные могут использоваться только в цикле, а не во всей функции?

Ответы [ 2 ]

4 голосов
/ 01 сентября 2011

Операционная система не имеет к этому никакого отношения - это работа компилятора.

Любая приличная система будет хранить меня в регистре процессора

2 голосов
/ 01 сентября 2011

В этом случае переменная i почти наверняка помещается в регистр.

Именно компилятор, а не операционная система, применяет правило, согласно которому переменная доступна только в цикле.(Это правило времени компиляции, а не правило времени выполнения.)

...