/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