register 변수

revizes의 이미지

예전에 얇은 책을 읽을때...
register를 쓰면 register 변수가 된다고 하더군요...
뭐..별 생각없이 그렇게 알고 있었는데..
만약에 long long type을 register 변수로 사용할 수 있나요?
32비트 머신이면 레지스터를 두개를 쓰나요?
아님 그냥 auto로?

익명 사용자의 이미지

register 로 선언한다고 반드시 register에 할당되지 않습니다.
타켓 씨피유에 따라 그때 그때 달라집니다.
남는 레지스터 있으면 할당해주거나, 아니면 말고...
아마도 64비트변수를 선언하면 오토로 선언될듯보이는군요.
어셈블해서 어셈블코드로 보세요.