/GF (odstranění duplicitních řetězců)
Umožňuje kompilátoru vytvořit jednu kopii identických řetězců v imagi programu a v paměti během provádění. Jedná se o optimalizaci označovanou jako sdružování řetězců, která může vytvářet menší programy.
Syntaxe
/GF
Poznámky
Pokud použijete /GF, operační systém neprohodí řetězcovou část paměti a dokáže číst řetězce zpět ze souboru bitové kopie.
/GF fondy řetězců jen pro čtení. Pokud se pokusíte upravit řetězce v / GF, dojde k chybě aplikace.
Sdružování řetězců umožňuje, co bylo zamýšleno jako více ukazatelů na více vyrovnávacích pamětí, aby byly více ukazatelů na jednu vyrovnávací paměť. V následujícím kódu s
a t
inicializují se stejným řetězcem. Sdružování řetězců způsobí, že odkazují na stejnou paměť:
char *s = "This is a character buffer";
char *t = "This is a character buffer";
Poznámka:
Možnost /ZI , která se používá pro úpravy a pokračování, automaticky nastaví možnost /GF .
Poznámka:
Možnost kompilátoru /GF vytvoří adresovatelný oddíl pro každý jedinečný řetězec. Ve výchozím nastavení může soubor objektu obsahovat až 65 536 adresovatelných oddílů. Pokud váš program obsahuje více než 65 536 řetězců, pomocí možnosti kompilátoru /bigobj vytvořte další oddíly.
/GF se používá při použití /O1 nebo /O2 .
Nastavení tohoto parametru kompilátoru ve vývojovém prostředí Visual Studio
Otevřete dialogové okno Stránky vlastností projektu. Podrobnosti najdete v tématu Nastavení kompilátoru C++ a vlastností sestavení v sadě Visual Studio.
Vyberte stránku vlastností vlastnosti konfigurace>C/C++>Generování kódu.
Upravte vlastnost Povolit sdružování řetězců.
Programové nastavení tohoto parametru kompilátoru
- Viz třída StringPooling.
Viz také
Parametry kompilátoru MSVC
Syntaxe příkazového řádku kompilátoru MSVC