Будинки Розвиток Що небезпечно? - визначення з техопедії

Що небезпечно? - визначення з техопедії

Зміст:

Anonim

Визначення - Що означає Небезпечний?

Unsafe - це ключове слово на мові програмування (C #), яке використовується для позначення розділу коду, яким не керує загальна мова виконання (CLR) .NET Framework або некерований код. Небезпечний використовується в декларації типу або члена або для визначення блокового коду. Якщо використовується для вказівки методу, контекст усього методу небезпечний.


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

Техопедія пояснює Небезпечно

Небезпечні дані стосуються виділених даних пам'яті, які не контролюються CLR, таких як ручки Windows або покажчики, виділені за допомогою нового методу.


Небезпечний код посилається на заяву або метод, який отримує доступ до некерованої пам'яті, включаючи:

  • Дзвінки в API API
  • Виклики компонентів інтерфейсу методу Component Object Model (COM), що включають структури з покажчиками або критичним кодом продуктивності.

Небезпечний код використовується в першу чергу, коли операції включають покажчики і, як правило, коли код виконується поза керованим контекстом. Небезпечна компіляція коду вимагає специфікації параметра "/ unsafe" за допомогою команди компіляції.


У повністю надійних середовищах CLR необхідний для виконання небезпечного коду. Однак CLR не перевіряє небезпечний код. CLR підтримує небезпечний код для забезпечення прямого доступу до некерованого коду пам'яті, який іноді є кращим з міркувань продуктивності.


Оскільки CLR підтримує тип безпеки та безпеки, C # не підтримує арифметику покажчика в керованому коді, на відміну від C / C ++. Небезпечне ключове слово дозволяє використовувати вказівник у некерованому коді. Однак безпека не гарантується, оскільки суворі правила доступу до об'єктів не дотримуються. Наприклад, можливості роботи покажчика не передбачені в середовищі виконання Java (JRE).


Небезпечний код може створювати проблеми зі стабільністю та захищеністю через властивий йому складний синтаксис та потенціал помилок, пов’язаних із пам’яттю, таких як переповнення стека, доступ та перезапис системної пам’яті. Додатковий догляд розробника має першорядне значення для запобігання можливим помилкам або ризикам безпеки.

Це визначення було написано в контексті C #
Що небезпечно? - визначення з техопедії