/GF (Eliminowanie ciągów zduplikowanych)

Umożliwia kompilatorowi utworzenie pojedynczej kopii identycznych ciągów na obrazie programu i w pamięci podczas wykonywania. Jest to optymalizacja nazywana buforowaniem ciągów, która może tworzyć mniejsze programy.

Składnia

/GF

Uwagi

Jeśli używasz /GF, system operacyjny nie zamienia części ciągu pamięci i może odczytać ciągi z powrotem z pliku obrazu.

/GF ciągi pul jako tylko do odczytu. Jeśli spróbujesz zmodyfikować ciągi w / GF, wystąpi błąd aplikacji.

Buforowanie ciągów umożliwia użycie wielu wskaźników do wielu buforów w postaci wielu wskaźników do pojedynczego buforu. W poniższym kodzie s i t są inicjowane przy użyciu tego samego ciągu. Buforowanie ciągów powoduje, że wskazują one tę samą pamięć:

char *s = "This is a character buffer";
char *t = "This is a character buffer";

Uwaga

Opcja /ZI, używana do edycji i kontynuowania, automatycznie ustawia /GF opcji.

Uwaga

Opcja kompilatora /GF tworzy sekcję adresową dla każdego unikatowego ciągu. Domyślnie plik obiektu może zawierać maksymalnie 65 536 sekcji z adresami. Jeśli program zawiera więcej niż 65 536 ciągów, użyj opcji kompilatora /bigobj , aby utworzyć więcej sekcji.

/GF jest w mocy, gdy /O1 lub /O2 jest używany.

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

  1. Otwórz okno dialogowe Strony właściwości projektu. Aby uzyskać szczegółowe informacje, zobacz Set C++ compiler and build properties in Visual Studio (Ustawianie właściwości kompilatora języka C++ i kompilowania w programie Visual Studio).

  2. Wybierz stronę właściwości Właściwości>konfiguracji C/C++>Code Generation.

  3. Zmodyfikuj właściwość Włącz buforowanie ciągów .

Aby programowo ustawić tę opcję kompilatora

Zobacz też

Opcje kompilatora MSVC
Składnia wiersza polecenia kompilatora MSVC