[ CnUnix ] in KIDS 글 쓴 이(By): valken (:이쁜왕자:) 날 짜 (Date): 2006년 8월 24일 목요일 오후 05시 58분 46초 제 목(Title): Endian Problem.. typedef union { unsigned long l[2]; unsigned long long ll; }T_64; 이렇게 선언하고.. T_64 a; unsigned long long b; a.l[0] = 1; a.l[1] = 0; b = a.ll; // b 에 1 이 들어가길 원하는 거겠죠? 이런식으로 쓰고 있었습니다.. Endian 고려가 전혀 안된채,, 64 비트 서포트를 위해서 억지로 만든 구조이죠. 대충 문제 없이 잘 쓰고 있었는데,, 엔디안이 다른 시스템으로 옮겨졌습니다.. 당연히 문제가 발생하겠지요.. [0] 과 [1] 을 찾아서 서로 바꾸어주는 짓은 불가능해 보이네요. 코드는 바꾸지 않고,, union 선언만 절묘하게 바꿔서 해결이 가능할까요?? 아. 삽질 삽질. "웬 초콜릿? 제가 원했던 건 뻥튀기 쬐끔과 의류예요." "얘야, 왜 또 불평?" -> 자음 19개와 모음 21개를 모두 사용하는 pangram - 이쁜왕자 - - Valken the SEXy THief~~ ^_* - |