2
다음은 "Endogine"엔진에서 빌린 코드입니다.C# SwapBytes 코드 x64 호환
unsafe protected void SwapBytes(byte* ptr, int nLength)
{
for(long i = 0; i < nLength/2; ++i) {
byte t = *(ptr + i);
*(ptr + i) = *(ptr + nLength - i - 1);
*(ptr + nLength - i - 1) = t;
}
}
내가 x64 아키텍처를 대상으로 할 때 실패 할 것 같다,하지만 포인터가이 int32 캐스팅하지 않기 때문에 왜, 나는 알아낼 수 없습니다 : 어떤 바이트 배열의 바이트 순서를 교환 할 예정이다. 도움이 되었습니까?
nLength와 i 모두 int 유형을 사용해 보았습니까? 또한 당신이 얻고있는 오류는 무엇입니까? – Sijin
x86 및 x64에서 특정 바이트 시퀀스 (예 : 0x01, 0x02, 0x03, 0x04)를 실행할 수 있고 일치하지 않는 결과가 표시되면 도움이 될 수있는 경우. –