位置文件语法
注意 ,放置文件现已过时,不应使用。 。
放置文件是 BinPlace 读取的文本文件,用于确定与放置的文件关联的类子目录。
此文件的路径和名称由 -p PlaceFile 命令行参数指定。 如果未使用,则默认值为 \tools\placefil.txt。 一个位置文件可以包含任意数量的行。 每行列出一个文件和一个类子目录。 列出文件不会导致 BinPlace 执行任何操作。 相反,每当 BinPlace 在命令行上提供文件名时,它将打开位置文件以查看该文件是否已列出。 如果是,BinPlace 将使用在该特定文件的放置文件中指定的类子目录。
一个位置文件的每一行具有相同的格式。
FileName Class[:Class[...] [ ; Comment ]
位置文件中的每一行都遵循以下规则:
- FileName 字段必须开始该行。
- FileName 和类字段必须用一个或多个空格分隔。
- 如果行上的任意位置出现分号,则其右侧的所有内容都被视为注释。
- 允许使用以分号开头的空白行和注释行。
FileName 和类字段如下所述:
参数
文件名
一个字段,指定 BinPlace 可以处理的文件的名称。 FileName 必须包含文件扩展名,但不能包含文件路径。 (将在 BinPlace 命令行上指定文件路径。
类
一个字段,指定用于此文件的类子目录。 除非使用 -y 或 -:D EST 命令行开关,否则 BinPlace 会将文件放在创建目录中,方法是获取根目标目录、追加类子目录,然后追加文件类型子目录。 有关完整详细信息,请参阅 BinPlace 目标目录 。
类 不应以反斜杠开头或结尾。 目录名称不得包含空格。 类值内可以使用特殊字符串。 字符串的效果与可执行文件和符号文件的位置不同。 下表显示了这些字符串的结果。
对于所有内部版本:
字符串 | 对可执行文件的影响 | 对符号文件的影响 |
---|---|---|
零售 |
已忽略。 将跳过此目录级别。 |
被视为名为 retail 的文本目录。 |
* |
在 x86 计算机上: i386。 在基于 Itanium 的计算机上: IA64。 在基于 x64 的计算机上: AMD64。 | 已忽略。 将跳过此目录级别。 |
系统 |
成为 system32。 |
|
system16 |
成为系统。 |
|
windows |
变为“.”忽视。 将跳过此目录级别。 |
符号路径为 零售。 |
司机 |
成为 system32\drivers。 |
|
drvetc |
成为 system32\drivers\etc。 |
|
config |
成为 system32\config。 |
对于 x86 内部版本:
字符串 | 对可执行文件的影响 | 对符号文件的影响 |
---|---|---|
hal |
成为 system32。 |
|
打印机 |
成为 system32\spool\drivers\w32x86。 |
|
prtprocs |
成为 system32\spool\prtprocs\w32x86。 |
对于 AMD64 版本:
字符串 | 对可执行文件的影响 | 对符号文件的影响 |
---|---|---|
hal |
变成“.”。例如,如果根目标目录为 C:\Binaries\Amd64,则该文件位于 C:\Binaries 中。 |
符号路径已剥离一个目录。 |
打印机 |
成为 system32\spool\drivers\w32amd64。 |
|
prtprocs |
成为 system32\spool\prtprocs\w32amd64。 |
对于 IA64 版本:
字符串 | 对可执行文件的影响 | 对符号文件的影响 |
---|---|---|
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 目录中。
如果希望将文件放置在多个位置,则可以包含由冒号分隔的类的多个实例。 目录和冒号之间不得有空格。 例如:
someprogram.exe dir1\dir2\dir3:otherdir1\otherdir2 ; To two locations
评论
BinPlace 将忽略分号后的任何文本。