Aracılığıyla paylaş


/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

  1. 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.

  2. Tıklatın c/C++ klasörü.

  3. Tıklatın komut satırı özellik sayfası.

  4. Derleyici seçeneği yazın Ek seçenekler kutusu.

Bu derleyici seçeneği programlı olarak ayarlamak için

Ayrıca bkz.

Başvuru

/o seçenekler (kodu en iyi duruma getir)

Derleme Seçenekleri

Derleyici seçeneklerini ayarlama