Dom Razvoj Što je nesigurno? - definicija iz tehopedije

Što je nesigurno? - definicija iz tehopedije

Sadržaj:

Anonim

Definicija - Što znači nesigurno?

Unsafe je ključna riječ programskog jezika C (C #) koja se koristi za označavanje dijela koda koji ne upravlja uobičajenim jezikom izvršenja (CLR) .NET Framework-a ili neupravljanim kodom. Nesigurno se koristi u deklaraciji vrste ili člana ili za određivanje blok koda. Kad se koristi za određivanje metode, kontekst cijele metode nije siguran.


Nesiguran kôd omogućuje dobru interoperabilnost s upravljanim programskim sučeljima bez upravljanja (API) ili sistemskim pozivima i služi kao kompatibilno sučelje treće strane dinamičnih veza knjižnica (DLL), za koje su potrebni pokazatelji za prosljeđivanje parametara. Nesiguran kôd također se može koristiti tijekom uklanjanja pogrešaka, kada sadržaj procesa zahtijeva inspekciju ili analizu.

Tehopedia objašnjava nesigurno

Nesigurni podaci odnose se na dodijeljene podatke iz memorije koje ne kontrolira CLR, kao što su Windows ručke ili pokazivači dodijeljeni novom metodom.


Nesiguran kôd odnosi se na izjavu ili metodu koja pristupa neupravljanoj memoriji, uključujući:

  • Pozivi na Windows API-je
  • Pozivi na komponente sučelja metode Component Object Model (COM) koje uključuju strukture s pokazivačima ili kritičnim kodom izvedbe.

Nesiguran kod prvenstveno se koristi kada operacije uključuju pokazivače i općenito kad se kôd izvodi izvan upravljanog konteksta. Nesigurna kompilacija koda zahtijeva specifikaciju opcije "/ nesigurno" pomoću naredbe kompilacije.


U potpuno pouzdanim okruženjima CLR je potreban za nesigurno izvršavanje koda. Međutim, CLR ne potvrđuje nesigurni kôd. CLR podržava nesiguran kôd za izravan pristup neupravljanom memorijskom kodu, što se ponekad iz razloga performansi preferira.


Budući da CLR održava vrstu sigurnosti i zaštite, C # ne podržava aritmetiku pokazivača u upravljanom kodu, za razliku od C / C ++. Nesigurna ključna riječ omogućuje upotrebu pokazivača u neupravljanom kodu. Međutim, sigurnost nije zajamčena, jer se ne poštuju stroga pravila pristupa objektima. Na primjer, mogućnosti rada pokazivača nisu date u Java Runtime Environment (JRE).


Nesiguran kôd može stvoriti probleme sa stabilnošću i sigurnošću zbog svojstvene složene sintakse i potencijala za pogreške povezane s memorijom, kao što su prelijevanje sloga, pristup i prepisivanje sistemske memorije. Dodatna briga za programere najvažnija je za sprečavanje potencijalnih pogrešaka ili sigurnosnih rizika.

Ova je definicija napisana u kontekstu C #
Što je nesigurno? - definicija iz tehopedije