/gf (yinelenen dizeleri ortadan)
Derleyici program resim ve bellekte yürütme sırasında aynı dizeleri tek bir kopyasını oluşturmak etkinleştirir.Bu adlı bir iyileştirme, dize havuzu daha küçük programlar oluşturabilirsiniz.
/GF
Notlar
Kullanırsanız, /GF, işletim sistemi bellek dizesi bölümlerine kaydırmaz ve dizeleri geri görüntü dosyasından okuyabilirsiniz.
/GFsalt okunur olarak havuzları dizeler.Dizeleri altında değiştirmeye çalışırsanız /GF, bir uygulama hatası oluşur.
Dize havuzu ne birden çok arabellek çoklu işaretçiler olarak tek bir arabelleğe çoklu işaretçiler olması planlanan sağlar.Aşağıdaki kodda, s ve t ile aynı dize başlatıldı.Dize havuzu aynı bellek işaret edecek şekilde bunları neden olur:
char *s = "This is a character buffer";
char *t = "This is a character buffer";
[!NOT]
/ZI seçeneği, Düzenle ve devam et, için kullanılan otomatik olarak ayarlar /GF seçeneği.
[!NOT]
/GF Derleyici seçeneği her benzersiz bir dize için adreslenebilir bir bölüm oluşturur.Ve varsayılan olarak, bir nesne dosyası en çok 65.536 adreslenebilir bölümler içerebilir.Programınız 65. 536'dan fazla dizeler içeriyorsa, /bigobj daha fazla bölümleri oluşturmak için derleyici seçeneği.
/GFne zaman içinde tümden olan /O1 veya /O2 kullanılır.
Visual Studio geliştirme ortamındaki bu derleyici seçeneğini ayarlamak için
Projenin Özellik Sayfaları iletişim kutusunu açın.Ayrıntılar için bkz. Nasıl yapılır: Proje özellik sayfalarını açın.
Tıklatın c/C++ klasörü.
Tıklatın Kod oluşturma özellik sayfası.
Değiştirmek Etkinleştir dize havuzu özelliği.
Bu derleyici seçeneği programlı olarak ayarlamak için
- Bkz: StringPooling