Das schnellste ist ein "BSWAP" (inline-Assembler).
Das Problem ist das Gleiche in Windows. Sobald nämlich mehr als ein Byte dabei ist, kommst du in Probleme mit der
Byte-Reihenfolge, zumindest ist das theoretisch der Fall.
Suche hier:
http://jedi-apilib.cvs.sourceforge.n...11&view=markup
nach "RtlUlongByteSwap" und kopiere den Code. Ist von mir und du darfst es auch ohne die
MPL/
LGPL verwenden. Wegen einem zweibytigen Opcode muß ich keine Erwähnung irgendwo haben
Auch:
htonl
ntohl
Ach was, hier ist sie:
Delphi-Quellcode:
function RtlUlongByteSwap(Source: ULONG): ULONG;
asm
// This is not written as mnemonics to be compatible with D4!
db 0Fh, 0C8h
// "bswap EAX" can only be executed on 486+!!!
(*
// Does the same but perhaps slower ...
// Source = $11223344
rol AX, 08h // Source = $11224433
rol EAX, 0Fh // Source = $44331122
rol AX, 08h // Source = $44332211
*)
end;