Innholdsfortegnelse:
Definisjon - Hva betyr usikre?
Unsafe er et C-programmeringsspråk (C #) nøkkelord som brukes til å betegne en del av koden som ikke administreres av Common Language Runtime (CLR) i .NET Framework, eller ubehandlet kode. Usikker brukes i erklæringen til en type eller medlem eller for å spesifisere blokkeringskode. Når den brukes til å spesifisere en metode, er konteksten til hele metoden utrygg.
Usikker kode gir god interoperabilitet med ustyrte applikasjonsprogrammeringsgrensesnitt (API) eller systemanrop og fungerer som et kompatibelt grensesnitt for tredjeparts dynamiske linkbiblioteker (DLL), som krever pekere for parameterpassering. Usikker kode kan også brukes under feilsøking, når prosessinnhold krever inspeksjon eller analyse.
Techopedia forklarer Unsafe
Usikre data refererer til tildelte minnedata som ikke styres av CLR, for eksempel Windows 'håndtak eller pekere som er tildelt via en ny metode.
Usikker kode refererer til en uttalelse eller metode som får tilgang til ubehandlet minne, inkludert:
- Samtaler til Windows APIer
- Calls to Component Object Model (COM) metodegrensesnittkomponenter som involverer strukturer med pekere eller ytelseskritisk kode.
Usikker kode brukes først og fremst når operasjoner involverer pekere, og generelt når kode utføres utenfor den administrerte konteksten. Usikker kildesamling krever spesifikasjon av alternativet "/ usikkert" med kompileringskommandoen.
I fullt pålitelige miljøer er CLR nødvendig for utrygg kodeutførelse. CLR verifiserer imidlertid ikke usikker kode. CLR støtter utrygg kode for å gi direkte tilgang til ikke-administrert minnekode, som noen ganger er foretrukket av ytelsesgrunner.
Fordi CLR opprettholder type sikkerhet og sikkerhet, støtter ikke C # peker aritmetikk i administrert kode, i motsetning til C / C ++. Det utrygge søkeordet tillater bruk av pekere i ubehandlet kode. Sikkerhet er imidlertid ikke garantert fordi strenge regler for tilgang til objekter ikke følges. For eksempel tilbys ikke funksjonene til pekerens drift i Java Runtime Environment (JRE).
Usikker kode kan skape problemer med stabilitet og sikkerhet, på grunn av den iboende komplekse syntaks og potensialet for hukommelsesrelaterte feil, for eksempel stackoverløp, tilgang og overskriving av systemminnet. Ekstra omsorg for utviklere er avgjørende for å avverge potensielle feil eller sikkerhetsrisiko.
