/sdl (Povolit další kontroly zabezpečení)
Přidá doporučené kontrol zabezpečení vývoj životního cyklu SDL ().Tyto kontroly zahrnují velmi užitečné pro zabezpečení upozornění jako chyby a funkce další zabezpečené generování kódu.
/sdl[-]
Poznámky
/sdl Umožňuje nadmnožinou kontrol zabezpečení standardních hodnot poskytované /GS a přepíše /GS-.Ve výchozím nastavení /sdl je vypnuta./sdl- Zakáže kontroly další zabezpečení.
Kompilaci kontroly
/sdl umožňuje tyto upozornění jako chyby:
Upozornění ve /sdl povoleno |
Ekvivalentní přepínač příkazového řádku |
Popis |
---|---|---|
/we4146 |
Unární operátor minus operátor byla použita k typu bez znaménka, výsledkem výsledek bez znaménka. |
|
/we4308 |
Záporná integrální konstanta převést na typ bez znaménka, výsledkem jsou pravděpodobně bezvýznamnému výsledek. |
|
/we4532 |
Použití continue, break nebo goto klíčová slova v __finally/finally bloku má nedefinována chování při nestandardního ukončení. |
|
/we4533 |
Kód inicializace proměnnou nebude provedeno. |
|
/we4700 |
Používání Neinicializovaný místní proměnné. |
|
/we4703 |
Používání potenciálně Neinicializovaný ukazatel místní proměnné. |
|
/we4789 |
Přetečení při konkrétní funkce C Runtime (CRT) se používají vyrovnávací paměti. |
|
/we4995 |
Použití funkce označena pragma nepoužívané. |
|
/we4996 |
Použití funkce označen jako nepoužívané. |
Modul runtime kontroly
Při /sdl je povolen, kompilátor vygeneruje kód, který má provádět tyto kontroly v době běhu:
Umožňuje přísné režim /GS detekce přetečení vyrovnávací paměti běhu, ekvivalentní kompilaci s #pragma strict_gs_check(push, on).
Provede sanitization omezenou ukazatel.Ve výrazech, které nezahrnují dereferences a v typy, které mají žádné uživatelem definované destruktor, ukazatel odkazy jsou nastaveny na-platnou adresu po volání delete.To pomáhá zabránit opakované použití zastaralá ukazatel odkazů.
Provede inicializaci třídy člena.Automaticky inicializuje všechny členy třídy na nulu při vytváření instance objektu (před spouští konstruktoru).To pomáhá zabránit použití Neinicializovaný data související s členy třídy, které konstruktoru nebude se inicializovat explicitně.
Poznámky
Další informace naleznete v tématu upozornění, /sdl a zlepšení Neinicializovaný proměnné detekce.
Nastavení tohoto parametru kompilátoru ve vývojovém prostředí Visual Studio
Otevřete projektu stránky vlastností dialogového okna.Podrobnosti naleznete v tématu Postupy: Otevření stránek vlastností projektu.
Vyberte C/C++ složky.
Na Obecné stránky, vyberte možnost z SDL kontroly z rozevíracího seznamu.