@negaH:
ja, danke für den hinweis mit dem umständlichen code. ich war auch gerade dabei diesen zu optimieren, wollte mir allerdings vorher
die entsprechenden
msdn artikel zur gemüte führen.
P := MapViewOfFile(FMapping, FILE_MAP_READ, 0, 0, 0);
wieviel wird hier eigentlich in den speicher gelesen? laut meiner hilfe ist der letzte parameter dwNumberOfBytesToMap ja auf 0.
um das 2gb problem zu beheben müsste ich dwFileOffsetLow u. dwFileOffsetHigh erhöhen.
was ich auch nicht ganz verstehe, ist wo bei folgendem code die erhöhung der akt. lese position stattfindet:
Delphi-Quellcode:
while FSFile1.Position < FSFile1.Size do
begin
L1 := FSFile1.Read(B1[1], BlockSize);
L2 := FSFile2.Read(B2[1], BlockSize);
if L1 <> L2 then
Exit;
if not CompareMem(@B1[1], @B2[1], L1) then
Exit;
end;
edit, hat sich erledigt mit der inkrementierung in obigem code, ist klar.