Freigeben über


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.