BinPlace 命令行语法

BinPlace 在命令行中使用以下语法:

    binplace [Options] File [ [Options] [@PlaceFile] File [...] ]

参数

选项
这可以包括以下任意开关。 开关前面应有连字符 () 或斜杠 (/) 。 可以在一个连字符或斜杠后组合多个选项,但采用其他参数的选项应后跟空格。 因此,以下两个命令是等效的:

binplace -q -k -g LCFile -v -s SymbolRoot File 
binplace -qkg LCFile -vs SymbolRoot File 

以下开关可用:

-a
导致 BinPlace 在放置专用符号时将其从符号文件中去除。 这会创建包含公共符号但不包含私有符号的剥离符号文件。 使用 -a 开关时,还必须使用 -s-x 。 使用 -a 时,去除的符号文件将放置在 -sSymbolRoot 指定的路径中。 如果 -nFullSymbolRoot 也存在,则完整的符号文件将放置在 FullSymbolRoot 中。 否则,它们不会放置在任何位置。

-bExtraSubdirectory
导致 BinPlace 将文件放置在与平常不同的位置。 像往常一样连接根目标目录、类子目录和文件类型子目录后,BinPlace 会将 ExtraSubdirectory 追加到此路径,以创建最终的目标目录。 ExtraSubdirectory 既不应以 开头,也不应以反斜杠结尾。 有关更多详细信息 ,请参阅 BinPlace 目标目录

-e
如果无法放置文件,则会导致 BinPlace 继续执行。 默认情况下,发生此错误时,BinPlace 将退出。

-F
强制 BinPlace 放置文件,即使文件覆盖较新的文件也是如此。 默认情况下,当 BinPlace 尝试放置文件时,它将覆盖较旧的版本,但不会覆盖较新的版本。

-gLCFile
使 BinPlace 验证可执行文件。 LCFile 指定要用于此验证的本地化约束文件。

-H
导致 BinPlace 在放置文件时创建硬链接,而不是复制文件。 此选项仅在 NTFS 文件系统上可用。

-J
使 BinPlace 在复制任何可执行文件之前验证是否存在正确的符号。 若要使用此选项,SymChk 工具必须位于路径中。 (SymChk 是 Windows 调试工具包的一部分。有关详细信息,请参阅 Windows 调试 。)

-k
导致 BinPlace 保留文件属性。 默认情况下,BinPlace 将关闭存档属性。

-nFullSymbolRoot
指定包含公共符号和私有符号) 的完整符号文件的根目录 (符号文件。 这还需要 -a-x-s 开关。 有关更多详细信息 ,请参阅 BinPlace 目标目录

-oRootSubdirectory
指定要使用的根目标目录的子目录。 创建目标目录时, RootSubdirectory 将插入到根目标目录之后和类子目录之前。 有关更多详细信息 ,请参阅 BinPlace 目标目录

-pPlaceFile
指定位置文件的路径和文件名。 如果未使用 -p 开关,则 BinPlace 将使用名为 \tools\placefil.txt的位置。 有关 位置文件 内容的说明,请参阅放置文件语法。

注意-p 开关和放置文件现已过时,不应使用。

-问
阻止 BinPlace 使用日志文件。 如果省略 -q 开关,则BINPLACE_LOG环境变量指定的文件将用作日志文件。

-rRootDestinationPath
指定根目标目录。 如果省略此值,则默认值由基于 x86、基于 Itanium 或基于 x64 的计算机上的_NT386TREE、_NTIA64TREE或_NTAMD64TREE环境变量确定。 有关详细信息 ,请参阅 BinPlace 目标目录

-sSymbolRoot
指定符号文件的根目录。 如果还使用了 -a-x 开关,则将从符号文件中去除私有符号,并且去除的符号文件将放置在 SymbolRoot 指定的目录中。 如果要放置去除符号文件和完整符号文件,则应使用 -a -x -s SymbolRoot -n FullSymbolRoot。 有关更多详细信息 ,请参阅 BinPlace 目标目录

-t
测试模式。 使用此开关时,不会复制任何文件,但 BinPlace 将显示警告和错误消息,就像放置文件一样。 你可能还希望使用 -v 开关来增加消息数。

-美国
使 BinPlace 将 \up 追加到类子目录。 这对于分离单处理器 (UP) 驱动程序很有用。 此外,每当使用此开关时,BinPlace 都不会拆分包含符号的可执行文件。 有关更多详细信息 ,请参阅 BinPlace 目标目录

-V
详细模式。 导致 BinPlace 显示更详细的错误、警告和进度消息。

-w
使 BinPlace 将 Windows 95 符号文件 (.sym) 添加到符号树。

-X
如果 BinPlace 遇到使用 旧符号系统的文件,此开关会导致它从可执行文件中删除所有符号,并将此信息移动到单独的符号文件。 有关详细信息 ,请参阅符号文件系统 。 使用 -x 开关时,还必须使用 -s-a

-Y
阻止 BinPlace 使用任何类子目录。 目标目录将仅从根目标目录和文件类型子目录创建。 有关详细信息 ,请参阅 BinPlace 目标目录

-Z
取消 -x 开关。 如果对多个目标使用 BinPlace,这非常有用 -- 可以使用 格式 binplaceargumentsTarget1argumentsTarget2 的命令,并且由于命令行是从左到右进行分析的, Target1Target2 将受到不同参数的影响。 (请参阅) 后面的“分析顺序”部分。 如果遇到 -z 开关,这将取消任何以前的 -x 开关的效果。

-ciReturnCodeApplicationArgumentArgument ...
导致 BinPlace 使用自定义应用程序来验证所有可执行文件。 如果希望 BinPlace 使用其他某个应用程序执行验证,可以使用 -ci 开关。

ReturnCode 应该是此应用程序在可执行文件中发现错误时将返回的值。 其他参数用于启动此应用程序。 这些都必须用逗号分隔。 应用程序 指定程序的名称。 这可以后跟任意数量的命令行参数。 程序将启动一个命令行,其中包含 Application ,后跟所有参数 (用空格而不是逗号分隔) ,最后以要检查的可执行文件的名称结尾。

-:弧
导致 BinPlace 仅放置设置了存档属性的文件。

-:D BG
阻止 BinPlace 放置 .dbg 文件。 如果还使用了 -j 开关,这将阻止 BinPlace 放置指向 .dbg 文件的二进制文件。 若要使用此选项,SymChk 工具必须位于路径中。 (SymChk 是 Windows 调试工具包的一部分。有关详细信息,请参阅 Windows 调试 。)

-:D ESTClassPath
导致 BinPlace 忽略放置文件,并使用指定的 ClassPath 作为类子目录。 有关详细信息 ,请参阅 BinPlace 目标目录

-:LOGPDB
导致 BinPlace 在日志文件中包含完整的 .pdb 路径。

-:RENNewName
导致 BinPlace 重命名要放置的文件。 原始文件名(包括扩展名)将替换为 NewName。 (如果原始文件是正在拆分的可执行文件,则将为新符号文件提供原始文件名和扩展名 .dbg.)

-:TMF
使 BinPlace 通过从 PDB 符号 文件中提取跟踪消息格式设置指令, (.tmf) 文件创建跟踪消息格式。 TMF 文件将放置在 BinPlace TRACE_FORMAT_PATH 环境变量指定的目录中。 请参阅 BinPlace 宏和环境变量

-ChangeAsmsToRetailForSymbols
如果字符串“asms”出现在符号文件的目标目录中,则会导致 BinPlace 将字符串“asms”替换为字符串“retail”。 有关更多详细信息 ,请参阅 BinPlace 目标目录

文件
指定 BinPlace 将处理的文件的完整路径和文件名。 可以列出任意数量的文件,用空格分隔。 如果路径和文件名包含空格,则必须将路径和文件名括在引号中。

@PlaceFile
如果任何文件名前面有 at 符号 ( @ ) ,则文件名表示位置文件的名称。 有关详细信息,请参阅下面的在文件中提供参数部分。

分析顺序

BinPlace 从左到右分析命令行。 可以指定多个选项,然后指定 File 参数、新选项、另一个 File 参数,等等。 每次 BinPlace 遇到新选项时,它都会被采用,覆盖以前看到的任何矛盾选项。 每当遇到 文件 说明符时,它都会使用它在命令行上已遇到的累积选项对该文件进行操作。

在文件中提供参数

可以将参数从文本文件传递到 BinPlace。 可通过两种方式实现此目的:

  • 可以在BINPLACE_OVERRIDE_FLAGS环境变量中指定文件名。 每当运行 BinPlace 时,都会读取该文件及其内容作为参数。 在实际出现在 BinPlace 命令行上的参数之前,将分析此文件中的参数。

  • 可以在 BinPlace 命令行上指定文件名,方法是使用 at 符号作为前缀 ( @ ) 。 当 BinPlace 在其命令行上看到以此符号开头的字符串时,它将获取该字符串,删除 at 符号,然后查找具有此名称的文件。 如果找到此文件,则会将其文本插入命令行,位置正好位于以 at 符号开头的原始参数所在的位置。 由于 BinPlace 从左到右分析参数,因此可以将此方法与 文件的 多个实例结合使用,以便对具有不同选项的多个文件使用 BinPlace,而无需每次键入所有选项。 (如果找不到此文件,BinPlace 会将原始字符串(包括 at 符号)视为 File 参数。)