Udostępnij za pośrednictwem


/H (ograniczyć długość nazwy zewnętrzne)

Ogranicza długość nazwy zewnętrzne.

/Hnumber

Argumenty

  • number
    Określa maksymalną długość nazw zewnętrznych dozwolone w programie.

Uwagi

Domyślnie długość nazwy zewnętrzne (publicznego) wynosi 2 047 znaków.Dotyczy to programy c i C++.Za pomocą /H można tylko zmniejszyć maksymalną dozwoloną długość identyfikatorów, nie można go zwiększyć.Odstęp między /H i number jest opcjonalny.

Jeśli program zawiera nazwy zewnętrzne dłużej niż number, dodatkowe znaki są ignorowane.Jeśli skompiluj program, bez /H i jeśli identyfikator zawiera więcej niż 2 047 znaków, kompilator generuje C1064 błąd krytyczny.

Limit długości zawiera wszystkie utworzone przez kompilator wiodących podkreślenia (_) lub znak (@).Znaki te są częścią identyfikatora i podjąć znaczne lokalizacji.

  • Kompilator doda podkreślenia (_) do nazwy zmodyfikowany przez __cdecl (domyślnie) i __stdcall wywołanie konwencje i interlinii znak (@) do nazw, zmodyfikowany przez __fastcall konwencji wywoływania.

  • Kompilator dołącza informacje o rozmiarze argumentu nazwy zmodyfikowany przez __fastcall i __stdcall Konwencje wywoływania i dodaje typ informacji do nazw C++.

Może okazać się /H użyteczne:

  • Podczas tworzenia programy mieszane języka lub przenośne.

  • Kiedy używać narzędzia, które nakładają ograniczenia na długości zewnętrznych identyfikatorów.

  • Jeśli chcesz ograniczyć ilość miejsca, że symbole korzystać w trybie debugowania.

W poniższym przykładzie jak stosując /H faktycznie mogą wystąpić błędy, jeśli identyfikator długości są zbyt dużo ograniczone:

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

Musi również być ostrożnym przy korzystaniu z /H opcji ze względu na identyfikatory wstępnie kompilatora.Jeśli identyfikator maksymalną długość jest zbyt mały, niektórych wstępnie zdefiniowanych identyfikatory będzie biblioteki nierozwiązanych jak również pewne wywołania funkcji.Na przykład jeśli printf jest używana funkcja i opcja /H5 jest określony w czasie kompilacji, symbol _prin zostaną utworzone, aby odwołać się za printf, i to nie można znaleźć w bibliotece.

Korzystanie z /H jest niezgodny z /GL (optymalizacja całego programu).

/Hprzestarzałe; wzrosły w granicach maksymalnej długości i /H nie jest już potrzebna.Aby uzyskać więcej informacji, zobacz Deprecated Compiler Options.

Aby ustawić tę opcję kompilatora w środowisku projektowym programu Visual Studio

  1. Otwórz projekt Stron właściwości okno dialogowe.Aby uzyskać szczegółowe informacje, zobacz Jak: Otwórz strony właściwości projektu.

  2. Kliknij przycisk C i C++ folder.

  3. Kliknij przycisk wiersza polecenia stronę właściwości.

  4. Wpisz opcję kompilatora w Dodatkowe opcje pole.

Aby programowo ustawić tę opcję kompilatora

Zobacz też

Informacje

Opcje kompilatora

Ustawianie opcji kompilatora