Colocar sintaxe do arquivo
Observação Os arquivos Place agora estão obsoletos e não devem ser usados. .
O arquivo de lugar é um arquivo de texto que o BinPlace lê para determinar os subdiretórios de classe associados a um arquivo que está colocando.
O caminho e o nome desse arquivo são especificados pelo parâmetro de linha de comando -p PlaceFile. Se isso não for usado, o padrão será \tools\placefil.txt. Um arquivo de lugar pode ter qualquer número de linhas. Cada linha lista um arquivo e um subdiretório de classe. Listar um arquivo não faz com que o BinPlace execute nenhuma ação. Em vez disso, sempre que o BinPlace receber um nome de arquivo na linha de comando, ele abrirá o arquivo de local para ver se esse arquivo está listado. Se for, o BinPlace usará o subdiretório de classe especificado no arquivo de local para esse arquivo específico.
Cada linha de um arquivo de lugar tem o mesmo formato.
FileName Class[:Class[...] [ ; Comment ]
Cada linha no arquivo de local segue estas regras:
- O campo Nome do arquivo deve iniciar a linha.
- Os campos FileName e Class devem ser separados por um ou mais espaços.
- Se um ponto-e-vírgula aparecer em qualquer lugar da linha, tudo à direita dele será tratado como um comentário.
- Linhas em branco e linhas de comentário que começam com ponto-e-vírgula são permitidas.
Os campos Nome do Arquivo e Classe são explicados da seguinte forma:
Parâmetros
Filename
Um campo que especifica o nome de um arquivo no qual o BinPlace pode atuar. FileName deve incluir a extensão do nome do arquivo, mas não deve incluir o caminho do arquivo. (Os caminhos de arquivo serão especificados na linha de comando do BinPlace.)
Classe
Um campo que especifica o subdiretório de classe usado para esse arquivo. A menos que as opções de linha de comando -y ou -:D EST sejam usadas, o BinPlace coloca um arquivo em um diretório criado usando o diretório de destino raiz, acrescentando o subdiretório de classe e, em seguida, anexando o subdiretório de tipo de arquivo. Consulte Diretórios de Destino do BinPlace para obter detalhes completos.
A aula não deve começar nem terminar com uma barra invertida. Os nomes de diretório não devem conter espaços. Há cadeias de caracteres especiais que podem ser usadas dentro de um valor de classe . O efeito da cadeia de caracteres é diferente no posicionamento de arquivos executáveis e arquivos de símbolo. As tabelas a seguir mostram os resultados dessas cadeias de caracteres.
Para todas as compilações:
String | Efeito em arquivos executáveis | Efeito em arquivos de símbolo |
---|---|---|
varejo |
Ignorado. Este nível de diretório será ignorado. |
Tratado como um diretório literal chamado retail. |
* |
Em um computador x86: i386. Em um computador baseado em Itanium: IA64. Em um computador baseado em x64: AMD64. | Ignorado. Este nível de diretório será ignorado. |
system |
Torna-se sistema32. |
|
sistema16 |
Torna-se sistema. |
|
windows |
Torna-se "." Ignorado. Este nível de diretório será ignorado. |
O caminho do símbolo é varejo. |
Drivers |
Torna-se system32\drivers. |
|
drvetc |
Torna-se system32\drivers\etc. |
|
config |
Torna-se system32\config. |
Para compilações x86:
String | Efeito em arquivos executáveis | Efeito em arquivos de símbolo |
---|---|---|
hal |
Torna-se sistema32. |
|
impressora |
Torna-se system32\spool\drivers\w32x86. |
|
prtprocs |
Torna-se system32\spool\prtprocs\w32x86. |
Para compilações AMD64:
String | Efeito em arquivos executáveis | Efeito em arquivos de símbolo |
---|---|---|
hal |
Torna-se ".." Por exemplo, se o diretório de destino raiz for C:\Binaries\Amd64, o arquivo será colocado em C:\Binaries. |
O caminho do símbolo é despojado de um diretório. |
impressora |
Torna-se system32\spool\drivers\w32amd64. |
|
prtprocs |
Torna-se system32\spool\prtprocs\w32amd64. |
Para compilações IA64:
String | Efeito em arquivos executáveis | Efeito em arquivos de símbolo |
---|---|---|
hal |
Torna-se ".." |
O caminho do símbolo é despojado de um diretório. |
impressora |
Torna-se system32\spool\drivers\w32ia64. |
|
prtprocs |
Torna-se system32\spool\prtprocs\w32ia64. |
Salvo indicação em contrário, o caminho do símbolo é truncado para incluir apenas o primeiro diretório no caminho. Por exemplo, se você estava usando o BinPlace para mover um arquivo x86 chamado Build.exe que tem a classe de destino de impressora, você pode usar a seguinte sintaxe de comando:
binplace -r BinaryRoot -xa -s SymbolsDir1 -n SymbolsDir2 SourceFileLocation\build.exe
O comando resultaria na seguinte árvore de saída:
<SymbolsDir1>\system32\exe\build.pdb
<SymbolsDir2>\system32\exe\build.pdb
<BinaryRoot>\system32\spool\drivers\w32x86\build.exe
Para compilações AMD64 e IA64, use a classe hal com cuidado, pois os resultados do BinPlace podem não ser o esperado. Por exemplo, se o diretório de destino raiz for C:\Binaries\Amd64 e você tiver especificado a classe hal , o arquivo será colocado em C:\Binaries e não no diretório processor-specifc que você pode ter pretendido.
Se você quiser que um arquivo seja colocado em vários locais, poderá incluir várias instâncias de Classe, separadas por dois-pontos. Não deve haver espaços entre os diretórios e os dois pontos. Por exemplo:
someprogram.exe dir1\dir2\dir3:otherdir1\otherdir2 ; To two locations
Comentário
Qualquer texto após um ponto-e-vírgula será ignorado pelo BinPlace.