Udostępnij przez


Katalogi docelowe BinPlace

BinPlace tworzy drzewo katalogów do przechowywania plików, które umieszcza. The structure of that tree is determined by the parameters that are passed to BinPlace's command line, the values of certain environment variables, and the contents of a text file known as a place file.

BinPlace umieści pliki, jeśli zostanie spełniony jeden z dwóch warunków:

  1. Plik jest określony w wierszu polecenia BinPlace.

  2. Plik jest plikiem symboli znajdującym się w tym samym katalogu co skojarzony plik wykonywalny, a plik wykonywalny jest określony w wierszu polecenia. W takim przypadku plik symboli i plik wykonywalny zostaną umieszczone w różnych katalogach. BinPlace może również wykonywać dzielenie lub usuwanie (zobacz Publiczne symbole i prywatne symbole) lub usuwanie (zobacz Systemy plików symboli) w tym scenariuszu.

Gdy plik BinPlace umieszcza pliki, automatycznie zastąpi starszy plik o tej samej nazwie. Jednak binPlace nie zastąpi domyślnie nowszego pliku. W szczególności, jeśli jest obecna nowsza (lub identyczna) wersja pliku wykonywalnego, żaden plik wykonywalny ani żadne skojarzone pliki symboli nie zostaną zapisane na dysku. If you wish BinPlace to overwrite files regardless of their timestamp, use the -f command-line option.

Miejsca docelowe plików

Nazwa katalogu, w którym BinPlace umieszcza dowolny plik określony w wierszu polecenia, jest tworzona przez łączenie dwóch katalogów: katalogu głównego ipodkatalogu klasy. (Katalogi mogą mieć dowolną wybraną nazwę, ale zazwyczaj katalog główny docelowy jest katalogiem głównym drzewa katalogów, w którym umieszczasz pliki, a podkatalog klasy jest podkatalogem, w którym wydaje się logiczne umieszczenie określonego pliku lub grupy plików).

  • Katalog docelowy katalogu głównego można określić przy użyciu parametru wiersza polecenia -r RootDestinationPath. Jeśli to zostanie pominięte, wartość domyślna jest określana przez odpowiednio _NT386TREE, _NTIA64TREE lub _NTAMD64TREE zmiennej środowiskowej na komputerze opartym na architekturze x86, itanium lub x64. Katalog docelowy katalogu głównego musi być zdefiniowany na jeden z tych sposobów; Jeśli w ogóle nie jest zdefiniowany, binPlace nie zostanie uruchomiona.

  • Podkatalog klasy jest zwykle określony w pliku zastępczym. Istnieje możliwość określenia wielu podkatalogów klas dla jednego pliku; Powoduje to, że BinPlace wykonuje kopie pliku i umieszcza je w każdej z określonych lokalizacji. Aby uzyskać szczegółowe informacje, zobacz Place File Syntax (Umieść składnię pliku ). Podkatalog klasy można również określić przy użyciu parametru wiersza polecenia -:D EST ClassPath.

Miejsca docelowe plików symboli

Gdy plik wykonywalny jest wyświetlany w wierszu polecenia BinPlace i istnieje skojarzony plik symboli w tym samym katalogu, binPlace skopiuje (lub zmieni) również plik symboli. Katalog, w którym znajduje się ten plik symboli, jest tworzony przez łączenie trzech katalogów: katalogu głównego symboli, podkatalogu klasy i podkatalogu typu pliku.

  • Katalog główny symbolu można określić przy użyciu parametru wiersza polecenia -s SymbolRoot. If you are using the -a and -x switches, stripped symbol files will be placed under the SymbolRoot directory -- in this case, you can use -n FullSymbolRoot to specify the location of full symbol files.

  • Podkatalog klasy jest zwykle określony w pliku zastępczym. Istnieje możliwość określenia wielu podkatalogów klas dla jednego pliku; Powoduje to, że BinPlace wykonuje kopie pliku i umieszcza je w każdej z określonych lokalizacji. Aby uzyskać szczegółowe informacje, zobacz Place File Syntax (Umieść składnię pliku ). Podkatalog klasy można również określić przy użyciu parametru wiersza polecenia -:D EST ClassPath. And if the -y command-line switch is used, no class subdirectory will be used for symbol files -- the destination directory will simply consist of the symbol root directory plus the file-type subdirectory.

  • Podkatalog typu pliku jest używany tylko dla plików symboli. Jest on określany przez rozszerzenie nazwy pliku oryginalnego pliku wykonywalnego. W związku z tym pliki symboli skojarzone z plikami .exe zostaną umieszczone w podkatalogu exe, pliki symboli skojarzone z bibliotekami DLL zostaną umieszczone w podkatalogu dll, a pliki symboli skojarzone ze sterownikami zostaną umieszczone w podkatalogu systemu. Ta konwencja pomaga uniknąć konfliktów nazw plików — na przykład myprogram.exe i myprogram.dll mogą mieć pliki symboli o nazwie myprogram.pdb, ale te pliki symboli zostaną umieszczone w różnych podkatalogach.

Istnieje jeden wyjątek od tego algorytmu. If neither -s nor -n is supplied, the full symbol files will be placed in the same location as the binaries.

Note If you list the symbol file name in BinPlace's command line, BinPlace will move it like any other file and will not examine its contents. Aby użyć technik manipulowania plikami symboli BinPlace, musisz wyświetlić nazwę pliku wykonywalnego, a nie nazwę pliku symboli.