Andreas Stiller, SPECtaculum in mehreren Akten, c't 13/06, S.122

patch.bat    Patchprogramm fr Intel-Compiler V8.0 bis 9.1
ctSAR.exe    allgemeines Search & Replacement-Tool
Liesmich.txt das hier



patch.bat ist ein kleines Batch-Programm, das das Kommandozeilen-Tool ctSAR speist.
Es patcht die CPUID-Abfrage in den  mit dem Flag  -fast oder -QxP erzeugten  Kompilaten
neuerer Intel- C/C++ und Fortran-Compiler (Window32/iA342 und Windows64/EMT64), so
dass sie auch mit Nicht-Intel-Prozessoren laufen, sofern diese auch SSE3 untersttzen.
Patch.bat sucht nacheinander die  verschiedenen Compilerversionen durch und findet
daher mitunter erst beim dritten Versuch die entsprechende Signatur (meldet dann also
zuvor zweimal : 0 Treffer). Wer nur mit einer Version zu tun hat, sollte  die
berflssigen anderen Abfragen aus der Batchdatei entfernen.

Normalerweise speichert patch.bat die gepatchte Datei unter einer neuen Extension
(hier mit .E:Patch => .Patch.exe). patch bzw. ctSAR untersttzen auch Wildcards und
knnen mit /S quer durch Unterverzeichnisse
suchen & tauschen. Mit /S:xxx kann man zustzlich einen Filter fr den Pfadnamen setzen
(etwa S:exe, so dass etwa bei CPU2000 nur die EXE-Ordner durchsucht werden.

Aufruf: patch Dateiname


Zu ctSAR: das  Search & Replacement-Tool kennt leider keine regular Expressions,
sondern hat eine eigene Syntax (mit \xx fr hexadezimal). Man kann nach Signaturen
mit Wildcards \?? suchen, sowie auch Wildcards im Patch-String angeben (bernimmt
das Byte an dieser Stelle). Soll eine Signatur nur am Ende gendert werden, so lsst sich
das mit \..\xx verkrzt darstellen. Die Suche lsste sich beim PE-Format auch auf bestimmte
Section eingrenzen (etwa /section:.text). Weitere Optionen mit ctSAR /help (as)












