Xscale에서 long long 변수의 align 문제
글쓴이: granite / 작성시간: 목, 2005/12/22 - 5:10오후
Xscale에서 long long 변수 값이 임의로 바뀌기에 추적해보니 long long의 address 가 8byte aligned 되지 않고 실행 중 4byte aligned 되네요.
unsinged long long AAAA(int a, int b)
{
unsinged long long x, y;
.......
}
라는 함수 AAAA를 여러번 호출 하는데 변수 x, y의 주소를
찍어보면 처음에는 8byte로 잘 align 되는데 이게 어느 시점에서
4byte로 align 되면서 x, y의 값이 엉뚱한 값으로 바뀌어버립니다.
구조체 내에서의 선언도 아니고 로컬 변수의 주소가 저렇게 되버리는 건 처음인데 혹시 이런 비슷한 경험을 한 분들의 조언 부탁드립니다.
Forums:
일단 옵티마이즈 옵션을 끄고 컴파일 해서 실행해 보세요.32비트
일단 옵티마이즈 옵션을 끄고 컴파일 해서 실행해 보세요.
32비트 실행 파일을 만든거라면 디폴트로 4 바이트 정렬로 될거 같습니다.
---------
간디가 말한 우리를 파괴시키는 7가지 요소
첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스
이익추구를 위해서라면..
다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치
-m64 옵션을 써주는 방법도......
-m64 옵션을 써주는 방법도......
댓글 달기