/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
em aberto propriedade Páginas caixa de diálogo.Para obter detalhes, consulte:Como: Abrir o Projeto Propriedade Páginas.
clicar no C/C++ pasta.
clicar no Linha de comando página de propriedades.
Digite opção do compilador no Opções adicionaisbox.