/GF (odstranění řetězců duplikátu)
Umožňuje vytvořit jednu kopii shodné řetězce v bitové kopii programu a v paměti během spuštění kompilátoru.Toto je optimalizace nazývá sdružování řetězec , můžete vytvořit menší programy.
/GF
Poznámky
Používáte-li /GF, operační systém není zaměnit řetězec část paměti a může číst řetězce zpět ze souboru obrázku.
/GFfondy řetězce jen pro čtení.Pokud se pokusíte změnit řetězce pod /GF, dojde k chybě aplikace.
Řetězec sdružování umožňuje, co byly zamýšlen jako více ukazatele na několik vyrovnávacích pamětí do jedné vyrovnávací paměti více ukazatelů.V následujícím kódu s a t jsou inicializovány s stejný řetězec.Řetězec sdružování způsobí jejich přejděte na stejnou paměť:
char *s = "This is a character buffer";
char *t = "This is a character buffer";
[!POZNÁMKA]
/ZI automaticky nastaví možnosti pro úpravy a pokračovat /GF možnost.
[!POZNÁMKA]
/GF Možnost kompilátor vytvoří oddíl pro každý jedinečný řetězec, který je adresovatelný.A výchozí soubor objekt může obsahovat maximálně 65 536 adresovatelných oddíly.Pokud váš program obsahuje více než 65 536 řetězce, použijte /bigobj kompilátor možnost vytvořit další oddíly.
/GFje v případě efektu /O1 nebo /O2 se používá.
Chcete-li nastavit tuto možnost kompilátoru ve vývojovém prostředí Visual Studio
Otevřete dialogové okno projektu Stránky vlastností.Další informace naleznete v tématu Jak: otevření stránky vlastností projektu.
Klepněte C/C++ složky.
Klepněte Generování kódu stránky vlastností.
Změnit Povolit sdružování řetězec vlastnost.
Programově nastavit tuto volbu kompilátoru
- Viz téma StringPooling.