2012-11-24 3 views
0

가능한 중복 :
“register” keyword in C?언제 레지스터 변수를 사용해야하나요? 단점이 있습니까?

내가 레지스터 변수로 거의 모든 것을 선언하는 경우? 내 프로그램의 속도가 빨라질까요? 아니면 어떤 종류의 단점이 있습니다. 왜냐하면 나는 레지스터 변수로 선언하기 위해 그것들을 선택하는 데 어려움을 겪고있다.

+0

컴파일러는 일반적으로 사용자보다 최적화되어 있으므로 시간을 낭비하지 않아도됩니다. – DCoder

+0

또한보십시오 : http://stackoverflow.com/questions/3500301/can-gcc-g-tell-me-when-it-ignores-my-register – Mat

답변

2

레지스터 변수의 주소를 가져올 수 없습니다.

그렇다면 컴파일러는 레지스터 할당이 잘되고 컴파일러는 스스로를 레지스터로 선언하고 싶지 않습니다. (컴파일러는 힌트를 무시할 수 있습니다. - 주요 컴파일러가 아무 것도하지 않는다고해도 놀라지 않을 것입니다. 아마도 코드를 최적화하지 말라고했을 때를 제외하고).

+0

그러나 나는 프로그램을 더 빨리 만들 것이라고 어딘가에서 읽은 적이 있습니까? 지금 구식인가? – latenightcode

+0

@vincentbelkin : 그렇지 않습니다. 레지스터 할당은 컴파일러가 요즘 매우 잘하는 것입니다 (읽기 : 당신이하는 것보다 낫습니다). –

+2

@vincentbelkin : 예, 정보가 오래되었습니다. 경우에 따라'register' 키워드는 프로그램을 느리게 만들 수도 있습니다 * (컴파일러가 키워드를 존중하고 레지스터 할당이 차선책으로 밝혀지면) –

관련 문제