Dateisyntax platzieren
Note Place files are now obsolete and should not be used. .
Die Ortsdatei ist eine Textdatei, die BinPlace liest, um die Klassenunterverzeichnisse zu bestimmen, die einer Datei zugeordnet sind, die sie platziert.
Der Pfad und der Name dieser Datei werden durch den Befehlszeilenparameter "-p PlaceFile" angegeben. Wenn dies nicht verwendet wird, lautet der Standardwert \tools\placefil.txt. Eine Ortsdatei kann eine beliebige Anzahl von Zeilen enthalten. Jede Zeile listet eine Datei und ein Klassenunterverzeichnis auf. Durch das Auflisten einer Datei wird BinPlace keine Aktion ausgeführt. Wenn "BinPlace" in der Befehlszeile einen Dateinamen angegeben wird, wird stattdessen die Ortsdatei geöffnet, um festzustellen, ob diese Datei aufgeführt ist. Wenn ja, verwendet BinPlace das Klassenunterverzeichnis, das in der Ortsdatei für diese bestimmte Datei angegeben ist.
Jede Zeile einer Ortsdatei weist das gleiche Format auf.
FileName Class[:Class[...] [ ; Comment ]
Jede Zeile in der Ortsdatei folgt den folgenden Regeln:
- Das Feld "FileName " muss die Zeile beginnen.
- Die Felder "FileName " und "Class " müssen durch ein oder mehrere Leerzeichen getrennt werden.
- Wenn ein Semikolon an einer beliebigen Stelle in der Zeile angezeigt wird, wird alles rechts davon als Kommentar behandelt.
- Leere Zeilen und Kommentarzeilen, die mit Semikolons beginnen, sind zulässig.
Die Felder "FileName " und "Class " werden wie folgt erläutert:
Parameter
Dateiname
Ein Feld, das den Namen einer Datei angibt, auf die BinPlace reagieren kann. FileName muss die Dateinamenerweiterung enthalten, darf jedoch nicht den Dateipfad enthalten. (Dateipfade werden in der BinPlace-Befehlszeile angegeben.)
Klasse
Ein Feld, das das Klassenunterverzeichnis angibt, das für diese Datei verwendet wird. Sofern die Befehlszeilenoptionen "-y " oder "-:D EST " nicht verwendet werden, platziert BinPlace eine Datei in einem Verzeichnis, das erstellt wird, indem das Stammzielverzeichnis verwendet wird, das Klassenunterverzeichnis angefügt und dann das Unterverzeichnis des Dateityps angefügt wird. Ausführliche Informationen finden Sie unter "BinPlace-Zielverzeichnisse ".
Die Klasse sollte weder mit einem umgekehrten Schrägstrich beginnen noch enden. Verzeichnisnamen dürfen keine Leerzeichen enthalten. Es gibt spezielle Zeichenfolgen, die innerhalb eines Klassenwerts verwendet werden können. Der Effekt der Zeichenfolge unterscheidet sich bei der Platzierung ausführbarer Dateien und Symboldateien. Die folgenden Tabellen zeigen die Ergebnisse dieser Zeichenfolgen.
Für alle Builds:
String | Auswirkung auf ausführbare Dateien | Effekt auf Symboldateien |
---|---|---|
Einzelhandel |
Ignoriert. Diese Verzeichnisebene wird übersprungen. |
Wird als Literalverzeichnis mit dem Namen "Einzelhandel" behandelt. |
* |
Auf einem x86-Computer: i386. Auf einem Itanium-basierten Computer: IA64. Auf einem x64-basierten Computer: AMD64. | Ignoriert. Diese Verzeichnisebene wird übersprungen. |
system |
Wird system32. |
|
system16 |
Wird System. |
|
windows |
Wird "." Ignoriert. Diese Verzeichnisebene wird übersprungen. |
Symbolpfad ist Einzelhandel. |
Treiber |
Wird system32\drivers. |
|
drvetc |
Wird system32\drivers\etc. |
|
config |
Wird system32\config. |
Für x86-Builds:
String | Auswirkung auf ausführbare Dateien | Effekt auf Symboldateien |
---|---|---|
hal |
Wird system32. |
|
Drucker |
Wird system32\spool\drivers\w32x86. |
|
prtprocs |
Wird system32\spool\prtprocs\w32x86. |
Für AMD64-Builds:
String | Auswirkung auf ausführbare Dateien | Effekt auf Symboldateien |
---|---|---|
hal |
Wird zu ".." Wenn das Stammzielverzeichnis z. B. "C:\Binaries\Amd64" lautet, wird die Datei in "C:\Binaries" abgelegt. |
Symbolpfad wird aus einem Verzeichnis entfernt. |
Drucker |
Wird system32\spool\drivers\w32amd64. |
|
prtprocs |
Wird system32\spool\prtprocs\w32amd64. |
Für IA64-Builds:
String | Auswirkung auf ausführbare Dateien | Effekt auf Symboldateien |
---|---|---|
hal |
Wird zu ".." |
Symbolpfad wird aus einem Verzeichnis entfernt. |
Drucker |
Wird system32\spool\drivers\w32ia64. |
|
prtprocs |
Wird system32\spool\prtprocs\w32ia64. |
Sofern nicht anders angegeben, wird der Symbolpfad abgeschnitten, um nur das erste Verzeichnis im Pfad einzuschließen. Wenn Sie beispielsweise BinPlace zum Verschieben einer x86-Datei namens Build.exe mit der Zielklasse des Druckers verwenden, können Sie die folgende Befehlssyntax verwenden:
binplace -r BinaryRoot -xa -s SymbolsDir1 -n SymbolsDir2 SourceFileLocation\build.exe
Der Befehl würde zur folgenden Ausgabestruktur führen:
<SymbolsDir1>\system32\exe\build.pdb
<SymbolsDir2>\system32\exe\build.pdb
<BinaryRoot>\system32\spool\drivers\w32x86\build.exe
Verwenden Sie bei AMD64- und IA64-Builds die Hal-Klasse mit Vorsicht, da die BinPlace-Ergebnisse möglicherweise nicht das erwartete Ergebnis sind. Wenn das Stammzielverzeichnis z. B. "C:\Binaries\Amd64" lautet und Sie die Hal-Klasse angegeben haben, wird die Datei in "C:\Binaries" und nicht im Verzeichnis "Prozessorspezifc" abgelegt, das Sie möglicherweise beabsichtigt haben.
Wenn eine Datei an mehreren Speicherorten platziert werden soll, können Sie mehrere Instanzen von "Class" einschließen, getrennt durch Doppelpunkte. Es dürfen keine Leerzeichen zwischen den Verzeichnissen und den Doppelpunkten vorhanden sein. Zum Beispiel:
someprogram.exe dir1\dir2\dir3:otherdir1\otherdir2 ; To two locations
Kommentar
Jeder Text nach einem Semikolon wird von BinPlace ignoriert.