/Og (genel iyileştirme)
Yerel ve genel iyileştirme sağlar otomatik kaydını ayırma ve en iyi duruma getirme döngü. İtiraz.
/Og
Notlar
Aşağıdaki en iyileştirmeleri kullanılabilir:
Yerel ve genel ortak alt ifadeyi eleme
Bu iyileştirme bir kez ortak alt ifadeyi değeri hesaplanır. Aşağıdaki örnekte, değerlerin b ve c arasında üç ifade değiştirmeyin, derleyici hesaplanması atayabilirsiniz b + c geçici bir değişken için ve değişken için alternatif b + c:
a = b + c; d = b + c; e = b + c;
Yerel ortak alt ifadeyi iyileştirmek için derleyici ortak taşıyıcının kodunu kısa bölümleri inceler. Genel ortak alt ifadeyi iyileştirmek için tüm işlevleri için ortak taşıyıcının derleyici arar.
Otomatik kaydı ayırma
Bu en iyi duruma getirme deposu sık kullanılan değişkenler ve taşıyıcının derleyici kayıtlarına izin verir; register anahtar sözcüðünü göz ardı edilir.
Döngü en iyi duruma getirme
Bu iyileştirme sabit taşıyıcının döngü gövdesinden kaldırır. En iyi bir döngü döngünün her yürütülmesine değerlerini değiştirmek ifadeleri içerir. Aşağıdaki örnekte, ifade x + y döngüsünün gövdesine değiştirmez:
i = -100; while( i < 0 ) { i += x + y; }
En iyi duruma getirme sonra x + y döngü gerçekleştirilir kez her zaman yerine hesaplanır:
i = -100; t = x + y; while( i < 0 ) { i += t; }
Döngü iyileştirme derleyici ile ayarladığınız hiçbir yumuşatma kabul edilebilir olduğunda daha verimli __restrict, noalias, veya kısıtlamak.
Not
Etkinleştirmek veya global optimizasyon temel işlev işlevini kullanarak devre dışı optimize ile pragma g seçeneği.
/OgAyrıca kopya yapıcı ve yıkıcı bir yığın tabanlı dönüş değerinin ortadan adlı değer iyileştirme sağlar. Daha fazla bilgi için bkz. / O1, /O2 (boyutunu en aza indirmek, hızını en üst düzeye çıkarmak).
İlgili bilgi için bkz: Üretmek iç işlevler (/Oi) ve tam en iyileştirme (/ Ox).
/Ogitiraz; use either /O1 or /O2. Daha fazla bilgi için bkz. Deprecated Compiler Options.
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 komut satırı özellik sayfası.
Derleyici seçeneği yazın Ek seçenekler kutusu.
Bu derleyici seçeneği programlı olarak ayarlamak için
- Bkz: AdditionalOptions