/ BASE (adres bazowy)

/BASE:{address[,size] | @filename,key}

/BASE opcja ustawia adres bazowy dla programu, zastępując domyślnej lokalizacji pliku .exe pliku (na 0x400000) lub biblioteki DLL (w 0x10000000).System operacyjny najpierw próbuje załadować program w jego określonym lub domyślny adres bazowy.Jeśli wystarczająca ilość miejsca nie ma dostępnych, system przemieszcza się program.Aby uniemożliwić przeniesienie, należy użyć /Fixed opcji.

Program łączący wygenerują błąd, jeśli adres nie jest wielokrotnością 64 KB.Opcjonalnie można określić rozmiar program, tak program łączący wyświetli ostrzeżenie, jeśli program nie może się zmieścić w podany rozmiar.

W wierszu polecenia określ adres bazowy w inny sposób polega na użyciu nazwę pliku poprzedzone znak (@) i key do pliku.Nazwę pliku jest plikiem tekstowym zawierającym lokalizacje i rozmiary wszystkich plików dll, program użyje.Wyszukuje program łączący nazwę pliku w określonej ścieżce, lub, jeżeli nie określono ścieżki, w określonym zmienna środowiskowa LIB.Każdy wiersz w nazwę pliku reprezentuje jeden DLL i ma następującą składnię:

key address [size] ;comment

key Jest ciągiem znaków alfanumerycznych i nie jest uwzględniana wielkość liter.Jest to zwykle nazwa biblioteki DLL, ale nie muszą być.key Następuje bazy adres w notacji języka C, szesnastkowym lub dziesiętnym i opcjonalnie maksymalnie size.Wszystkie trzy argumenty są oddzielone znaków tabulacji lub spacji.Program łączący wygeneruje ostrzeżenie, jeśli określony size jest mniejsza niż wirtualnej przestrzeni adresowej wymagane przez program.A comment jest określony przez średnik (;) i może być na tym samym lub w oddzielnym wierszu.Program łączący ignoruje cały tekst po średniku do końca wiersza.W tym przykładzie przedstawiono część takiego pliku:

main   0x00010000    0x08000000    ; for PROJECT.exe
one    0x28000000    0x00100000    ; for DLLONE.DLL
two    0x28100000    0x00300000    ; for DLLTWO.DLL

Jeśli plik, który zawiera te wiersze nosi nazwę DLLS.txt, następujące polecenie przykładowe stosuje się te informacje:

link dlltwo.obj /dll /base:@dlls.txt,two

Uwagi

Można zmniejszyć stronicowania i zwiększyć wydajność programu przez przypisywanie adresów bazowych, tak że biblioteki DLL nie pokrywają się w przestrzeni adresowej.

Inny sposób, aby ustawić adres bazowy jest z podstawowych argument w Nazwa lub biblioteki instrukcji./BASE i /dll razem opcje są równoważne z biblioteki instrukcji.

Aby ustawić tę opcję programu łączącego w środowisku projektowym programu Visual Studio

  1. Otwórz projekt Stron właściwości okno dialogowe.Aby uzyskać szczegółowe informacje, zobacz Ustawianie właściwości projektu Visual C++.

  2. Kliknij przycisk program łączący folder.

  3. Kliknij przycisk Zaawansowane stronę właściwości.

  4. Modyfikowanie Adresu podstawowego właściwości.

Aby ustawić tę opcję linker programowo

Zobacz też

Informacje

Ustawianie opcji Linker

Opcje Linker