INHALT | INDEX | ZURÜCK | WEITER
Vorwort
GCompare ist ein Programm zum Erzeugen von Patch-Dateien für den Vertrieb
von Updates beliebiger Programme oder anderer Dateien.
Eine solche Patch-Datei enthält nur noch die Unterschiede zwischen den alten
und den neuen Dateien, womit die zu vertreibenden Datenmengen erheblich
reduziert werden.
GPatch dient dazu, diese Updates auszuführen.
Die Vorteile von GCompare/GPatch gegenüber vergleichbaren Programmen sind:
-Die Patch-Datei kann Änderungsdaten für eine beliebige Anzahl von Dateien
enthalten. Dadurch ist es möglich, Updates für mehrere Versionen eines
Programms zusammen zu vertreiben. Wenn sich die Verzeichnis-Struktur des
Produktes nicht geändert hat, findet der Patcher selbständig die benötigten
Änderungsdaten, ohne daß sich Ihr Skript darum kümmern muß.
Außerdem können Sie die Patches für verschiedene Dateien in einer einzigen
Patch-Datei unterbringen.
-Wenn die Patchdatei jeweils die Änderungen von einer Programmversion zur
nächsten enthält, dann ist es nicht mehr notwendig, alle alten Versionen zu
archivieren.
-Das Format der Patch-Datei ist bezüglich der Dateigröße aufwendig optimiert.
GCompare kann mehrere verschiedene Kodierungsarten testen und diejenige
auswählen, die das kürzeste Resultat liefert.
Obwohl ich nicht allzu viele ähnliche Programme kenne, möchte ich behaupten,
daß GCompare in den meisten Fällen die kürzesten Patchdateien aller
verfügbarer Patchprogramme erzeugt.
-Um zu verhindern, daß beim Anwender beschädigte Dateien ankommen, enthalten
die Programme eine sehr zuverlässige Fehlererkennung (32-Bit-CRC-Signaturen
für alle Dateien). Wenn keine Fehlermeldungen auftreten, dann können Sie
sicher sein, daß die Ergebnisse des Patch-Vorgangs perfekt sind.
-GCompare sucht passende Daten in der gesamten Datei, nicht nur innerhalb
eines Relativbereichs, womit es vermutlich bisher einzigartig ist.
Da eine solche Suche aber ziemlich aufwendig ist, arbeitet das Programm bei
genügend Speicher mittels eines dreidimensionalen Sucharrays, wodurch ungeachtet
des Aufwandes die Suchzeiten relativ gering sind. Wenn nicht genug Speicher zur
Verfügung steht, wird auf ein zwei- oder eindimensionales Array zurückgegriffen.