spectre

Specifické pro Microsoft

Říká kompilátoru, aby nevkládal pokyny pro spekulativní spuštění spectre varianty 1 pro funkci.

Syntaxe

__declspec( spectre(nomitigation) )

Poznámky

Možnost kompilátoru /Qspectre způsobí, že kompilátor vloží spekulativní pokyny pro spuštění. Vloží se tam, kde analýza indikuje, že existuje ohrožení zabezpečení Spectre varianty 1. Konkrétní pokyny generované závisí na procesoru. I když by tyto pokyny měly mít minimální dopad na velikost nebo výkon kódu, můžou existovat případy, kdy ohrožení zabezpečení neovlivní váš kód a vyžaduje maximální výkon.

Odborná analýza může určit, že funkce je v bezpečí před chybou obejití spectre varianty 1. V takovém případě můžete potlačit generování kódu omezení rizik v rámci funkce použitím __declspec(spectre(nomitigation)) deklarace funkce.

Upozornění

Pokyny pro spekulativní provedení /Qspectre poskytují důležitou ochranu zabezpečení a mají zanedbatelný vliv na výkon. Proto je doporučeno je nepotlačovat vyjma vzácných případů, kdy je výkon funkce kriticky důležitý a funkce je známa jako bezpečná.

Příklad

Následující kód ukazuje, jak používat __declspec(spectre(nomitigation)).

// compile with: /c /Qspectre
static __declspec(spectre(nomitigation))
int noSpectreIssues() {
    // No Spectre variant 1 vulnerability here
    // ...
    return 0;
}

int main() {
    noSpectreIssues();
    return 0;
}

END Microsoft Specific

Viz také

__declspec
Klíčová slova
/Qspectre