2011-09-01 6 views
0
cout << "blah blah blah"; 
for (int i=0; i < n; i++) 
{ 
cout << '#' << endl;; 
} 
cout << "blah blah blah"; 

은 스택 프레임의 정수 i입니까? 정수가 루프에서만 사용될 수 있다면 운영 체제는 루프 내에서만 사용할 수있는 변수를 추적하고 전체 함수에서 어떻게 사용할 수 있습니까?운영 체제 루프 변수 스택 질문

답변

4

운영 체제와 관련이 없습니다. 컴파일러의 역할입니다.

어떤 괜찮은 시스템은 내가

2

변수 i이 거의 확실이 경우 레지스터에 위치 레지스터는 CPU에 유지합니다.

변수는 루프 내에서만 액세스 할 수있는 규칙을 적용하는 운영 체제가 아니라 컴파일러입니다. 컴파일 타임 규칙이며 런타임 규칙은 아닙니다.