두 개의 포인터 (입력 및 출력)를 사용하고 입력 바이트를 역순으로 출력에 쓰는 함수를 작성하려고했습니다. 지금까지 제대로 작동하지 못했습니다.Delphi 역순 정렬
procedure ReverseBytes(Source, Dest: Pointer; Size: Integer);
var
Index: Integer;
begin
Move(Pointer(LongInt(Source) + Index)^, Pointer(LongInt(Dest) + (Size - Index))^ , 1);
end;
누구든지이 작업을 수행하는 더 좋은 방법을 제안 할 수 있습니까?
감사합니다.
나는 당신이 실제로 바이트를 반대로하고 싶지 내기 것입니다. 호스트 바이트 순서에서 네트워크 바이트 순서로 변환하는 것이 좋습니다. 그것을 위해 모든 통신 라이브러리에 기능이 있습니다. 그것을 써. 그것은 당신의 코드를 더 논리적으로 정확하게 만들 것입니다. div 2와 shr 1의 차이점과 같습니다. 빅 엔디 언 머신에 코드를 삽입하면 두통을 줄일 수 있습니다. –