У дома развитие Какво е опасно? - определение от техопедия

Какво е опасно? - определение от техопедия

Съдържание:

Anonim

Определение - Какво означава Небезопасно?

Unsafe е ключова дума на C език за програмиране (C #), използвана за обозначаване на раздел от код, който не се управлява от общото изпълнение на езика (CLR) на .NET Framework или неуправляем код. Unsafe се използва в декларацията за тип или член или за определяне на блоков код. Когато се използва за уточняване на метод, контекстът на целия метод е опасен.


Ненадежден код осигурява добра оперативна съвместимост с управлявани интерфейси за програмиране на приложения (API) или системни обаждания и служи като съвместим интерфейс за библиотеки на динамични връзки на трети страни (DLL), които изискват указатели за преминаване на параметри. Небезопасен код може да се използва и при отстраняване на грешки, когато съдържанието на процеса изисква проверка или анализ.

Техопедия обяснява Небезопасно

Небезопасни данни се отнасят за разпределени данни от паметта, които не се контролират от CLR, като дръжки или указатели на Windows, разпределени чрез нов метод.


Небезопасен код се отнася до оператор или метод, който осъществява достъп до неуправляема памет, включително:

  • Обаждания към API на Windows
  • Обаждания към компоненти на интерфейсния метод на компонентния модел на обекта (COM), включващи структури с указатели или критичен код за ефективността.

Небезопасен код се използва главно, когато операциите включват указатели и като цяло, когато кодът се изпълнява извън управлявания контекст. Несигурното компилиране на код изисква спецификация на опцията "/ небезопасно" с командата за компилация.


В напълно надеждни среди, CLR е необходим за опасно изпълнение на кода. CLR обаче не проверява опасен код. CLR поддържа опасен код за осигуряване на директен достъп до неуправляем код на паметта, който понякога е предпочитан поради причини за производителност.


Тъй като CLR поддържа типа сигурност и сигурност, C # не поддържа аритметиката на показалеца в управлявания код, за разлика от C / C ++. Небезопасната ключова дума позволява използването на показалец в неуправляем код. Безопасността обаче не е гарантирана, тъй като не се спазват строги правила за достъп до обекти. Например възможностите за работа с показалец не са предоставени в Java Runtime Environment (JRE).


Несигурният код може да създаде проблеми със стабилността и сигурността, поради присъщия му сложен синтаксис и потенциал за грешки, свързани с паметта, като препълване на стека, достъп и презаписване на системната памет. Допълнителните грижи за разработчици са от първостепенно значение за предотвратяване на потенциални грешки или рискове за сигурността.

Това определение е написано в контекста на C #
Какво е опасно? - определение от техопедия