Indholdsfortegnelse:
Definition - Hvad betyder usikre?
Unsafe er et C-programmeringssprog (C #) nøgleord, der bruges til at betegne et afsnit af kode, der ikke administreres af Common Language Runtime (CLR) i .NET Framework, eller ikke-administreret kode. Usikker bruges i erklæringen af en type eller medlem eller til at specificere blokkode. Når det bruges til at specificere en metode, er konteksten af hele metoden usikker.
Usikker kode giver god interoperabilitet med ubegrænsede applikationsprogrammeringsgrænseflader (API) eller systemopkald og fungerer som en kompatibel grænseflade til tredjeparts dynamiske linkbiblioteker (DLL), som kræver pegepunkter til parameterpassering. Usikker kode kan også bruges under fejlsøgning, når procesindhold kræver inspektion eller analyse.
Techopedia forklarer Unsafe
Usikre data refererer til allokerede hukommelsesdata, der ikke styres af CLR, såsom Windows 'håndtag eller pointer, der er tildelt via en ny metode.
Usikker kode henviser til en erklæring eller metode, der får adgang til uhåndteret hukommelse, herunder:
- Opkald til Windows API'er
- Opkald til komponentobjektmodel (COM) -metodegrænsefladekomponenter, der involverer strukturer med pegere eller ydelseskritisk kode.
Usikker kode bruges primært, når operationer involverer pegepunkter, og generelt, når kode udføres uden for den styrede kontekst. Usikker kodekompilering kræver specifikation af indstillingen "/ usikker" med kompileringskommandoen.
I fuldt pålidelige miljøer kræves CLR til udførelse af usikker kode. CLR verificerer dog ikke usikker kode. CLR understøtter usikker kode til at give direkte adgang til ustyret hukommelseskode, som undertiden foretrækkes af ydelsesårsager.
Fordi CLR opretholder type sikkerhed og sikkerhed, understøtter C # ikke markørens aritmetik i administreret kode, i modsætning til C / C ++. Det utrygge nøgleord tillader brug af markører i uhåndteret kode. Sikkerhed garanteres dog ikke, fordi strenge regler for adgang til objekt ikke overholdes. F.eks. Leveres pointerdriftsfunktioner ikke i Java Runtime Environment (JRE).
Usikker kode kan skabe problemer med stabilitet og sikkerhed på grund af dens iboende komplekse syntaks og potentiale for hukommelsesrelaterede fejl, såsom stackoverløb, adgang til og overskrivning af systemhukommelse. Ekstra udviklerpleje er vigtig for at afværge potentielle fejl eller sikkerhedsrisici.