/GF (Eliminowanie ciągów zduplikowanych)
Włącza kompilatora utworzyć pojedynczą kopię takich samych ciągów znaków na obrazie programu i w pamięci podczas wykonywania.To jest optymalizacja o nazwie ciąg łączenie że można utworzyć mniejsze programy.
/GF
Uwagi
Jeśli używasz /GF, system operacyjny nie zamienić ciąg część pamięci i może odczytać ciągów z powrotem z pliku obrazu.
/GFpule ciągi jako tylko do odczytu.Jeśli spróbujesz zmodyfikować ciągi pod /GF, występuje błąd aplikacji.
Łączenie ciągów pozwala, jakie były przeznaczone jako wiele wskaźników do buforów wiele do wielu wskaźniki do pojedynczego buforu.W poniższym kodzie s i t są inicjowane z tego samego ciąg.Łączenie ciągów powoduje, że polecenie samej pamięci:
char *s = "This is a character buffer";
char *t = "This is a character buffer";
[!UWAGA]
/ZI , używane do Edit- and -Continue, powoduje /GF opcji.
[!UWAGA]
/GF Opcję kompilatora tworzy adresowalnych sekcję dla każdego unikatowego ciągu.I domyślnie pliku obiektu może zawierać maksymalnie 65 536 sekcje mogą być adresowane.Jeśli program zawiera więcej niż 65536 ciągi znaków, należy użyć /bigobj opcję kompilatora, aby utworzyć więcej sekcji.
/GFjest w życie, kiedy /O1 lub /O2 jest używany.
Aby ustawić tę opcję kompilatora w środowisku programowania Visual Studio
Otwórz okno dialogowe Strony właściwości projektu.Szczegółowe informacje – zobacz: Porady: otwieranie stron właściwości projektów.
Kliknij folder C/C++.
Kliknij stronę właściwości Generowanie kodu.
Modyfikowanie Włączyć buforowanie ciąg właściwości.
Aby programowo ustawić tę opcję kompilatora
- Zobacz StringPooling.