Sdílet prostřednictvím


/Og (globální optimalizace)

Poskytuje místní a globální optimalizace registraci automatické přidělení a optimalizace smyčky.Zastaralé

/Og

Poznámky

K dispozici jsou následující optimalizace:

  • Lokální a globální společného podvýrazu eliminace

    Hodnota společného podvýrazu této optimalizace je vypočtena jednou.V následujícím příkladu Pokud hodnoty b a c se nemění mezi tři výrazy, kompilátor přiřadit výpočtu b + c dočasné proměnné a nahradit proměnnou pro b + c:

    a = b + c;
    d = b + c;
    e = b + c;
    

    Pro místní společného podvýrazu optimalizace kompilátor zkoumá kratší části kódu pro běžné podvýrazy.Pro globální optimalizace společného podvýrazu Kompilátor prohledává celý funkce pro běžné podvýrazy.

  • Automatické rejstříku přidělení.

    Tato optimalizace kompilátoru k uložení často používaných proměnných a podvýrazy umožňuje v registrech; register klíčové slovo ignorováno.

  • Optimalizace smyčky

    Tato optimalizace invariantní podvýrazy odstraní z těla smyčky.Optimální cyklus obsahuje pouze výrazy, jejichž hodnoty se mění prostřednictvím každé spuštění smyčky.V následujícím příkladu výraz x + y do těla smyčky se nemění:

    i = -100;
    while( i < 0 ) {
        i += x + y;
    }
    

    Po optimalizaci x + y počítá jednou místo pokaždé, když se spustí smyčka:

    i = -100;
    t = x + y;
    while( i < 0 ) {
        i += t;
    }
    

    Optimalizace smyčky je mnohem účinnější, pokud kompilátor lze předpokládat žádné vyhlazení, které nastavíte s __restrict, noalias, nebo omezení.

    [!POZNÁMKA]

    Můžete povolit nebo zakázat globální optimalizace jednotlivých funkcí tak, že pomocí optimize s pragma g možnost.

/Ogtaké umožňuje optimalizace s názvem vrátí hodnotu, která eliminuje kopie konstruktoru a destruktoru zásobníku podle návratové hodnoty.Další informace naleznete v tématu /O1, /O2 (minimální velikost, maximální rychlost).

Související informace naleznete v tématu Generovat vnitřní funkce (/Oi) a úplnou optimalizaci (/ Ox).

/Ogse již nepoužívá; use either /O1 or /O2.Další informace naleznete v tématu Deprecated Compiler Options.

Chcete-li nastavit tuto možnost kompilátoru ve vývojovém prostředí Visual Studio

  1. Otevřete dialogové okno projektu Stránky vlastností.Další informace naleznete v tématu Postupy: Otevření stránek vlastností projektu.

  2. Klikněte na složku C/C++.

  3. Klikněte na stránku vlastností Příkazový řádek.

  4. Zadejte možnost kompilátoru do pole Další možnosti.

Chcete-li tuto možnost kompilátoru nastavit v programu

Viz také

Referenční dokumentace

/O možnosti (optimalizace kódu)

Možnosti kompilátoru

Nastavení možností kompilátoru