Sdílet prostřednictvím


/H (Omezit délku externích názvů)

Omezuje délku externí názvy.

/Hnumber

Arguments

  • number
    Určuje maximální délku externí názvy, které jsou povoleny v programu.

Poznámky

Ve výchozím nastavení je délka vnější (veřejné) názvy 2,047 znaků.To platí pro programy C a C++.Pomocí /H lze pouze snížit maximální povolená délka identifikátory, nelze zvětšit.Prostor mezi /H a number je nepovinný.

Pokud program obsahuje externí názvy delší než number, zvláštní znaky jsou ignorovány.Pokud při kompilaci aplikace bez /H a pokud identifikátor obsahuje více než 2,047 znaky, kompilátor vygeneruje Závažná chyba C1064.

Omezení délky obsahuje všechny vytvořené kompilátoru úvodní podtržítka (_) nebo znak zavináč (@).Tyto znaky jsou součástí identifikátoru a trvat na významné místo.

  • Kompilátor přidá změnil názvy vedoucí znak podtržítko (_) __cdecl (výchozí) a __stdcall volání úmluvy a úvodní znak (@) názvy změnil __fastcall konvence volání.

  • Kompilátor přidá informace velikost argument změnil názvy __fastcall a __stdcall konvence volání a přidá informace o typu C++ názvy.

Je možné /H užitečné:

  • Při vytváření smíšené jazyk nebo přenosné programy.

  • Při použití nástroje, které zavádí omezení délky externí identifikátory.

  • Pokud chcete omezit množství místa, které používají symboly v sestavení ladění.

Následující příklad ukazuje způsob použití /H mohou skutečně vzniknout chyby, jsou-li délky identifikátor omezené příliš:

// 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) {}

Také musíte být opatrní při použití /H možnost z předdefinovaných kompilátoru identifikátory.Pokud identifikátor maximální délka je příliš malá, budou některé předdefinované identifikátory nevyřešené stejně jako některé knihovny volání funkce.Například pokud printf je použita funkce a možnost /H5 je určena v době kompilace, symbol _prin bude vytvořen odkázat printf, a nebude nalezen v knihovně.

Použití /H je kompatibilní s /GL (celková optimalizace programu).

/Hse již nepoužívá; omezení maximální délky vzrostly a /H již není potřeba. Další informace naleznete v tématu Deprecated Compiler Options.

Chcete-li nastavit tuto možnost kompilátoru ve vývojovém prostředí Visual Studio

  1. Otevřete dialogové okno projektu Stránky vlastností.Další informace naleznete v tématu Postupy: Otevření stránek vlastností projektu.

  2. Klikněte na složku C/C++.

  3. Klikněte na stránku vlastností Příkazový řádek.

  4. Zadejte možnost kompilátoru v Další možnosti pole.

Chcete-li tuto možnost kompilátoru nastavit v programu

Viz také

Referenční dokumentace

Možnosti kompilátoru

Nastavení možností kompilátoru