/BASE (základní adresa)
/BASE:{address[,size] | @filename,key}
/BASE možnost nastaví základní adresu programu, přepisuje výchozí umístění .exe souboru (na 0x400000) nebo knihovny DLL (na 0x10000000).Operační systém se nejprve pokusí načíst program na jeho určený nebo výchozí základní adresa.Pokud je dostatek místa k dispozici není k dispozici, systém přemístí program.Slouží k zabránění přemístění, /FIXED možnost.
Propojovací program vyvolá chybu, pokud adresa není násobkem 64 kB. Volitelně můžete zadat velikost programu, tak propojovací program zobrazí upozornění, pokud program nemůže umístit zadanou velikost.
V příkazovém řádku je jiný způsob, jak určit základní adresu pomocí souboru předchází zavináč (@) a key do souboru.Souboru je textový soubor, který obsahuje umístění a velikosti všech knihoven DLL aplikace bude používat.Propojovací program hledá souboru v zadané cestě nebo, je-li zadána žádná cesta, v adresářích uvedených v proměnné prostředí LIB.Každý řádek v souboru představuje jeden DLL a má následující syntaxi:
key address [size] ;comment
key Je řetězec alfanumerických znaků a není velká a malá písmena.Je obvykle název knihovny DLL, ale nemusí být.key Následuje základ adresa v jazyce C, šestnáctkové nebo desítkové soustavě a volitelná maximální size.Všechny tři argumenty jsou odděleny mezerami nebo tabulátory.Propojovací program vydá upozornění, pokud zadaný size je menší než virtuálního adresového prostoru, které daný program požaduje.A comment je určen středník (;) a může být na stejném nebo na samostatném řádku.Propojovací program ignoruje veškerý text z středník na konec řádku.Následující příklad ukazuje část těchto souborů:
main 0x00010000 0x08000000 ; for PROJECT.exe
one 0x28000000 0x00100000 ; for DLLONE.DLL
two 0x28100000 0x00300000 ; for DLLTWO.DLL
Pokud soubor, který obsahuje tyto řádky se nazývá DLLS.txt, tyto informace se vztahuje příkaz v následujícím příkladu:
link dlltwo.obj /dll /base:@dlls.txt,two
Poznámky
Můžete snižuje potřebu stránkování a zlepšit výkon vašeho programu přiřazením základní adresy tak, aby knihovny DLL do adresního prostoru nepřekrývají.
Jiný způsob, jak nastavit základní adresa je základní argument v název nebo Knihovna prohlášení./BASE a /DLL možnosti společně odpovídají Knihovna prohlášení.
Chcete-li nastavit možnost linkeru ve vývojovém prostředí Visual Studio
Otevřete dialogové okno projektu Stránky vlastností.Další informace naleznete v tématu Nastavení vlastností projektu Visual C++.
Klikněte na složku Linker.
Klikněte na stránku vlastností Pokročilé.
Změnit Základní adresa vlastnost.
Nastavení této možnosti linkeru v programu
- Další informace naleznete v tématu BaseAddress.