Compartilhar via


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.