Compartilhar via


/ BASE (endereço básico)

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

O /BASE opção define um endereço básico para o programa, substituindo o localização padrão de um .exe de arquivo (no 0x400000) ou uma DLL (no 0x10000000).Primeiro o sistema operacional tenta carregar um programa em seu especificado ou o endereço básico padrão.Se o espaço suficiente não estiver disponível, o sistema realocará o programa.Para impedir a realocação, use o / FIXA opção.

O vinculador emitirá um erro se endereço não é um múltiplo de 64 K.Opcionalmente, você pode especificar o dimensionar de programa, para que o vinculador avisará se o programa não pode conter o dimensionar especificado.

Na linha de comando, outra maneira de especificar o endereço básico é usando o nome de arquivo é precedido por uma arroba (@) e um key para o arquivo. The nome de arquivo é um arquivo de texto que contém os locais e tamanhos de todas as DLLs seu programa usará.O vinculador procura nome de arquivo no caminho especificado ou, se nenhum caminho for especificado, nos diretórios especificados na variável de ambiente LIB.Cada linha no nome de arquivo representa uma DLL e tem a seguinte sintaxe:

key address [size] ;comment

The key é uma seqüência de caracteres alfanuméricos e não caso confidenciais. Normalmente, é o nome de uma DLL, mas não precisa ser.The key é seguido por uma base endereço na notação linguagem C, hexadecimal ou decimal e um máximo opcional size. Todos os três argumentos são separados por tabulações ou espaços.O vinculador emite um aviso se o especificado size é menor do que o espaço de endereço virtual requerido pelo programa. A comment é especificado por um ponto-e-vírgula (;) e pode ser no mesmo ou em uma linha separada. O vinculador ignora todo o texto do ponto-e-vírgula ao participante da linha.Este exemplo mostra parte de um arquivo:

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

Se o arquivo que contém essas linhas for chamado DLLS.txt, o comando de exemplo a seguir se aplica a essas informações:

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

Comentários

Você pode reduzir a paginação e melhorar o desempenho do seu programa, atribuindo endereços base para que as DLLs não se sobrepõem no espaço de endereço.

Outra maneira de conjunto o endereço básico é com o BASE argumento de umNOME or BIBLIOTECA demonstrativo.O /BASE e / DLL opções juntas são equivalentes a BIBLIOTECA demonstrativo.

Para conjunto esta opção de vinculador no ambiente de desenvolvimento do Visual Studio

  1. em aberto propriedade Páginas caixa de diálogo.Para obter detalhes, consulte Definindo propriedades do Visual C++ projeto.

  2. clicar no Vinculador pasta.

  3. clicar no Avançado página de propriedades.

  4. Modificar o endereço básicopropriedade .

Para conjunto esta opção de vinculador programaticamente

Consulte também

Referência

Definindo opções do vinculador

Opções do Vinculador