Spisu treści:
Definicja - Co oznacza Niebezpieczny?
Niebezpieczne jest słowem kluczowym języka programowania C (C #) używanym do oznaczenia części kodu, która nie jest zarządzana przez środowisko uruchomieniowe języka wspólnego (CLR) .NET Framework lub kodu niezarządzanego. Niebezpieczny jest używany w deklaracji typu lub elementu lub w celu określenia kodu blokowego. W przypadku użycia metody do określenia kontekstu całej metody jest niebezpieczny.
Niebezpieczny kod zapewnia dobrą interoperacyjność z niezarządzanymi interfejsami programowania aplikacji (API) lub wywołaniami systemowymi i służy jako kompatybilny interfejs dla bibliotek dynamicznych stron trzecich (DLL), które wymagają wskaźników do przekazywania parametrów. Niebezpieczny kod może być również używany podczas debugowania, gdy zawartość procesu wymaga inspekcji lub analizy.
Techopedia wyjaśnia Niebezpieczne
Niebezpieczne dane odnoszą się do danych w przydzielonej pamięci, które nie są kontrolowane przez CLR, takich jak uchwyty systemu Windows lub wskaźniki przydzielone za pomocą nowej metody.
Niebezpieczny kod odnosi się do instrukcji lub metody, która uzyskuje dostęp do niezarządzanej pamięci, w tym:
- Połączenia z interfejsami API systemu Windows
- Wywołania do komponentów interfejsu metody Component Object Model (COM) obejmujących struktury ze wskaźnikami lub kodem krytycznym dla wydajności.
Niebezpieczny kod jest używany przede wszystkim, gdy operacje obejmują wskaźniki i, na ogół, gdy kod jest wykonywany poza kontekstem zarządzanym. Niebezpieczna kompilacja kodu wymaga określenia opcji „/afe” za pomocą komendy kompilacji.
W pełni zaufanych środowiskach CLR jest wymagany do wykonania niebezpiecznego kodu. Jednak CLR nie weryfikuje niebezpiecznego kodu. CLR obsługuje niebezpieczny kod, aby zapewnić bezpośredni dostęp do niezarządzanego kodu pamięci, co jest czasem preferowane ze względu na wydajność.
Ponieważ CLR utrzymuje bezpieczeństwo i ochronę typów, C # nie obsługuje arytmetyki wskaźników w kodzie zarządzanym, w przeciwieństwie do C / C ++. Niebezpieczne słowo kluczowe umożliwia użycie wskaźnika w niezarządzanym kodzie. Jednak bezpieczeństwo nie jest gwarantowane, ponieważ nie są przestrzegane ścisłe reguły dostępu do obiektów. Na przykład możliwości działania wskaźnika nie są dostępne w środowisku Java Runtime Environment (JRE).
Niebezpieczny kod może powodować problemy ze stabilnością i bezpieczeństwem, ze względu na jego nieodłączną złożoną składnię i potencjalne błędy związane z pamięcią, takie jak przepełnienie stosu, dostęp i nadpisywanie pamięci systemowej. Dodatkowa opieka programistów ma kluczowe znaczenie dla uniknięcia potencjalnych błędów lub zagrożeń bezpieczeństwa.