2012-05-14 3 views
0

지역 변수가 간접적으로 처리되는 동안 정적 변수가 직접 처리되는 이유는 무엇입니까? 간접 지시가 지방 주민에게서 오는 것을 나는 알 수 없다!정적 변수 및 지역 변수에 대한 주소 지정 모드

+0

이 질문에 대한 답변을 제공하기에 충분한 문맥을 제공하지 않습니다. 어떤 프로그래밍 언어인가? 무슨 컴파일러 등 당신이 말하는거야? –

+0

@DonStewart gcc. – saadtaame

답변

1

함수를 재귀 적으로 사용할 수있는 언어에서는 지역 포인터를 스택 포인터를 통해 간접적으로 처리해야합니다. 그러나 staticlocal은 반드시 상호 배타적 인 개념이 아닙니다.

+0

@Ingro 알았으므로 먼저 로컬 변수의 주소를 계산 한 다음 계산 된 메모리 주소에서 데이터를 읽습니다. 권리? – saadtaame

+0

물론 구현에 따라 다르지만, 공통적 인 일은 레지스터 (스택 포인터)가 스택의 상단/하단을 가리키고 모든 로컬 변수가 해당 스택 포인터로부터 알려진 오프셋을 갖도록하는 것입니다. – Ingo