Compartilhar via


/H (restrito comprimento dos nomes externos)

Restringe o comprimento de nomes externos.

/Hnumber

Argumentos

  • number
    Especifica o comprimento máximo de nomes externos permitidos em um programa.

Comentários

Por padrão, o comprimento de nomes externos (públicos) é 2,047 caracteres.Isso é verdadeiro para programas C e C++.Usando /H pode diminuir apenas o comprimento máximo permitido de identificadores, não aumentá-lo. Um espaço entre /H e number é opcional.

Se um programa contiver nomes externos mais de number, os caracteres extras serão ignorados. Se você compilar um programa sem /H e se um identificador contiver mais de 2,047 caracteres, o compilador gerará C1064 erro fatal.

O limite de comprimento inclui qualquer sublinhado entrelinhamento criado pelo compilador (_) ou arroba (@).Esses caracteres fazem parte do identificador e levar a um local significativo.

  • O compilador adiciona um sublinhado (_) entrelinhamento para nomes modificados pelo __cdecl (padrão) e __stdcall chamando um entrelinhamento arroba (@) e as convenções para nomes modificados pela __fastcall convenção de chamada.

  • O compilador acrescentará informações de dimensionar do argumento aos nomes dos modificado pelo __fastcall e __stdcall convenções de chamada e adiciona informações de tipo C++ nomes.

Você pode encontrar /H útil:

  • Quando você cria programas de linguagem misto ou portátil.

  • Ao usar ferramentas que impõem limites sobre o comprimento de identificadores externos.

  • Quando você deseja restringir a quantidade de espaço que usa símbolos em uma compilação de depurar.

O exemplo a seguir mostra como usar /H Na verdade, pode introduzir erros se comprimentos de identificador são limitados muito:

// compiler_option_H.cpp
// compile with: /H5
// processor: x86
// LNK2005 expected
void func1(void);
void func2(void);

int main() { func1(); }

void func1(void) {}
void func2(void) {}

Você também deve ter cuidado ao usar o /H opção por causa dos identificadores de compilador predefinidos. Se o comprimento máximo do identificador é muito pequeno, determinados identificadores predefinidos serão chamadas de função de biblioteca não resolvidos sistema autônomo certos.Por exemplo, se o printf função é usada e a opção /H5 for especificado no momento da compilar, o símbolo _prin será criado para fazer referência printf, e isso não ser encontrado na biblioteca.

Uso de /H é incompatível com /GL (otimização de programa total).

/H obsoleto no Visual C++ 2005; aumentaram os limites de tamanho máximo e /H não é mais necessária. Para obter mais informações, consulte Opções do compilador preterido no Visual C++ 2005.

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

  1. em aberto propriedade Páginas caixa de diálogo.Para obter detalhes, consulte:Como: Abrir o Projeto Propriedade Páginas.

  2. clicar no C/C++ pasta.

  3. clicar no Linha de comando página de propriedades.

  4. Digite opção do compilador no Opções adicionaisbox.

Para conjunto esta opção do compilador por meio de programação

Consulte também

Referência

Opções do compilador

Opções de compilador configuração