共用方式為


放置檔案語法

注意 放置檔案現在已過時,不應使用。 .

放置檔案是 BinPlace 讀取的文字檔,用來判斷與它放置之檔案相關聯的類別子目錄。

這個檔案的路徑和名稱是由 -p PlaceFile 命令行參數所指定。 如果未使用,則預設值為 \tools\placefil.txt。 位置檔案可以有任意數目的行。 每一行都會列出檔案和類別子目錄。 列出檔案不會造成 BinPlace 採取任何動作。 相反地,每當 BinPlace 在命令行上提供檔名時,就會開啟位置檔案,以查看該檔案是否已列出。 如果是,BinPlace 將會使用該特定檔案之放置檔案中指定的類別子目錄。

位置檔案的每一行都有相同的格式。


     FileName Class[:Class[...]   [ ; Comment ] 

位置檔案中的每個行都遵循下列規則:

  • FileName 欄位必須開始這一行。
  • FileNameClass 字段必須以一或多個空格分隔。
  • 如果分號出現在該行的任何位置,則會將它右邊的所有項目視為批注。
  • 允許以分號開頭的空白行和批注行。

FileName類別欄位的說明如下:

參數

檔名
指定 BinPlace 可以執行之檔名的欄位。 FileName 必須包含擴展名,但不能包含檔案路徑。 (將在 BinPlace 命令行上指定檔案路徑。


欄位,指定用於這個檔案的類別子目錄。 除非使用 -y-:D EST 命令行參數,否則 BinPlace 會將檔案放在建立的目錄中,方法是取得根目的地目錄、附加類別子目錄,然後附加檔類型子目錄。 如需完整詳細數據,請參閱 BinPlace 目的地目錄

類別 不應該以反斜杠開頭或結尾。 目錄名稱不得包含空格。 類別值內可以使用特殊字串。 字串的效果與可執行檔和符號檔的位置不同。 下表顯示這些字串的結果。

針對所有組建:

String 對可執行文件的影響 對符號檔的影響

零售

忽略。 將會略過此目錄層級。

被視為名為 retail 的常值目錄。

*

在 x86 計算機上: i386。 在Itanium型電腦上: IA64。 在 x64 型電腦上: AMD64

忽略。 將會略過此目錄層級。

系統

變成 system32

system16

成為 系統

windows

變成 “”。忽視。 將會略過此目錄層級。

符號路徑為 零售

司機

變成 system32\drivers

drvetc

成為 system32\drivers\etc

config

變成 system32\config

針對 x86 組建:

String 對可執行文件的影響 對符號檔的影響

hal

變成 system32

印表機

變成 system32\spool\drivers\w32x86

prtprocs

變成 system32\spool\prtprocs\w32x86

針對 AMD64 組建:

String 對可執行文件的影響 對符號檔的影響

hal

變成 “.”。例如,如果根目的地目錄是 C:\Binaries\Amd64,檔案會放在 C:\二進位檔中。

符號路徑會移除一個目錄。

印表機

變成 system32\spool\drivers\w32amd64

prtprocs

變成 system32\spool\prtprocs\w32amd64

針對 IA64 組建:

String 對可執行文件的影響 對符號檔的影響

hal

變成 “.”。

符號路徑會移除一個目錄。

印表機

變成 system32\spool\drivers\w32ia64

prtprocs

變成 system32\spool\prtprocs\w32ia64

除非另有說明,否則符號路徑會被截斷,只包含路徑中的第一個目錄。 例如,如果您使用 BinPlace 移動名為 Build.exe 且具有印表機目標類別的 x86 檔案,您可以使用下列命令語法:

binplace -r BinaryRoot  -xa -s SymbolsDir1 -n SymbolsDir2 SourceFileLocation\build.exe

這個指令會產生下列輸出樹狀結構:

<SymbolsDir1>\system32\exe\build.pdb
<SymbolsDir2>\system32\exe\build.pdb 
<BinaryRoot>\system32\spool\drivers\w32x86\build.exe 

針對 AMD64 和 IA64 組建,請小心使用 hal 類別,因為 BinPlace 結果可能不是您預期的結果。 例如,如果根目的地目錄是 C:\Binaries\Amd64,而且您指定 了 hal 類別,檔案會放在 C:\Binaries 中,而不是放在您可能想要的 processor-specifc 目錄中。

如果您想要將檔案放在多個位置,您可以包含多個 Class 實例,並以冒號分隔。 目錄與冒號之間不得有空格。 例如:

someprogram.exe   dir1\dir2\dir3:otherdir1\otherdir2   ; To two locations

評論
BinPlace 會忽略分號之後的任何文字。