Partager via


Syntaxe de fichier de place

Notez que les fichiers place sont désormais obsolètes et ne doivent pas être utilisés. .

Le fichier place est un fichier texte que BinPlace lit pour déterminer les sous-répertoires de classe associés à un fichier qu’il place.

Le chemin et le nom de ce fichier sont spécifiés par le paramètre de ligne de commande -p PlaceFile. S’il n’est pas utilisé, la valeur par défaut est \tools\placefil.txt. Un fichier de place peut avoir n’importe quel nombre de lignes. Chaque ligne répertorie un fichier et un sous-répertoire de classe. La liste d’un fichier n’entraîne pas l’action de BinPlace. Au lieu de cela, chaque fois que BinPlace est fourni un nom de fichier sur la ligne de commande, il ouvre le fichier place pour voir si ce fichier est répertorié. Si c’est le cas, BinPlace utilise le sous-répertoire de classe spécifié dans le fichier place pour ce fichier particulier.

Chaque ligne d’un fichier de lieu a le même format.


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

Chaque ligne du fichier place suit les règles suivantes :

  • Le champ FileName doit commencer la ligne.
  • Les champs FileName et Class doivent être séparés par un ou plusieurs espaces.
  • Si un point-virgule apparaît n’importe où sur la ligne, tout à droite de celui-ci est traité comme un commentaire.
  • Les lignes vides et les lignes de commentaire commençant par des points-virgules sont autorisées.

Les champs FileName et Class sont expliqués comme suit :

Paramètres

Fichier
Champ qui spécifie le nom d’un fichier sur lequel BinPlace peut agir. FileName doit inclure l’extension de nom de fichier, mais elle ne doit pas inclure le chemin d’accès au fichier. (Les chemins d’accès aux fichiers sont spécifiés sur la ligne de commande BinPlace.)

Classe
Champ qui spécifie le sous-répertoire de classe utilisé pour ce fichier. Sauf si les commutateurs de ligne de commande -y ou -:D EST sont utilisés, BinPlace place un fichier dans un répertoire créé en prenant le répertoire de destination racine, en ajoutant le sous-répertoire de classe, puis en ajoutant le sous-répertoire de type fichier. Pour plus d’informations, consultez les répertoires de destination BinPlace.

La classe ne doit ni commencer ni se terminer par une barre oblique inverse. Les noms de répertoires ne doivent pas contenir d’espaces. Il existe des chaînes spéciales qui peuvent être utilisées dans une valeur de classe . L’effet de la chaîne est différent sur le placement des fichiers exécutables et des fichiers de symboles. Les tableaux suivants montrent les résultats de ces chaînes.

Pour toutes les builds :

Chaîne Effet sur les fichiers exécutables Effet sur les fichiers de symboles

vente au détail

Ignoré. Ce niveau de répertoire est ignoré.

Traité comme un répertoire littéral nommé retail.

*

Sur un ordinateur x86 : i386. Sur un ordinateur Itanium : IA64. Sur un ordinateur x64 : AMD64.

Ignoré. Ce niveau de répertoire est ignoré.

d’arroseur à pré-action

Devient system32.

system16

Devient système.

windows

Devient « ». Ignoré. Ce niveau de répertoire est ignoré.

Le chemin d’accès aux symboles est la vente au détail.

Pilotes

Devient system32\drivers.

drvetc

Devient system32\drivers\etc.

config

Devient system32\config.

Pour les builds x86 :

Chaîne Effet sur les fichiers exécutables Effet sur les fichiers de symboles

hal

Devient system32.

imprimante

Devient system32\spool\drivers\w32x86.

prtprocs

Devient system32\spool\prtprocs\w32x86.

Pour les builds AMD64 :

Chaîne Effet sur les fichiers exécutables Effet sur les fichiers de symboles

hal

Devient « .. » Par exemple, si le répertoire de destination racine est C :\Binaries\Amd64, le fichier est placé dans C :\Binaries.

Le chemin d’accès aux symboles est supprimé d’un répertoire.

imprimante

Devient system32\spool\drivers\w32amd64.

prtprocs

Devient system32\spool\prtprocs\w32amd64.

Pour les builds IA64 :

Chaîne Effet sur les fichiers exécutables Effet sur les fichiers de symboles

hal

Devient « .. »

Le chemin d’accès aux symboles est supprimé d’un répertoire.

imprimante

Devient system32\spool\drivers\w32ia64.

prtprocs

Devient system32\spool\prtprocs\w32ia64.

Sauf indication contraire, le chemin du symbole est tronqué pour inclure uniquement le premier répertoire dans le chemin. Par exemple, si vous utilisiez BinPlace pour déplacer un fichier x86 appelé Build.exe qui possède la classe cible d’imprimante, vous pouvez utiliser la syntaxe de commande suivante :

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

La commande génère l’arborescence de sortie suivante :

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

Pour les builds AMD64 et IA64, utilisez la classe hal avec prudence, car les résultats BinPlace peuvent ne pas être ce que vous attendez. Par exemple, si le répertoire de destination racine est C :\Binaries\Amd64 et que vous avez spécifié la classe hal , le fichier est placé dans C :\Binaries et non dans le répertoire processeur-specifc que vous avez peut-être prévu.

Si vous souhaitez qu’un fichier soit placé à plusieurs emplacements, vous pouvez inclure plusieurs instances de classe, séparées par des points-virgules. Il ne doit pas y avoir d’espaces entre les répertoires et les deux-points. Par exemple :

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

Commentaire
Tout texte après un point-virgule sera ignoré par BinPlace.