Bahay Pag-unlad Ano ang hindi ligtas? - kahulugan mula sa techopedia

Ano ang hindi ligtas? - kahulugan mula sa techopedia

Talaan ng mga Nilalaman:

Anonim

Kahulugan - Ano ang ibig sabihin ng Unsafe?

Ang Unsafe ay isang C programming language (C #) keyword na ginamit upang magpahiwatig ng isang seksyon ng code na hindi pinamamahalaan ng Karaniwang Wika Runtime (CLR) ng .NET Framework, o hindi pinamamahalaang code. Ginagamit ang hindi ligtas sa deklarasyon ng isang uri o miyembro o upang tukuyin ang block code. Kapag ginamit upang tukuyin ang isang pamamaraan, ang konteksto ng buong pamamaraan ay hindi ligtas.


Ang ligtas na code ay nagbibigay ng mahusay na interoperability sa mga hindi pinamamahalaang mga interface ng programming application (API) o mga tawag sa system at nagsisilbing isang katugmang interface para sa mga third-party na mga link ng library (DLL), na nangangailangan ng mga payo para sa pagpasa ng mga parameter. Maaari ring magamit ang hindi ligtas na code sa panahon ng pag-debug, kapag ang nilalaman ng proseso ay nangangailangan ng inspeksyon o pagsusuri.

Ipinaliwanag ng Techopedia si Unsafe

Ang hindi ligtas na data ay tumutukoy sa inilalaan na data ng memorya na hindi kinokontrol ng CLR, tulad ng mga hawakan o mga payo ng Windows na inilalaan sa pamamagitan ng isang bagong pamamaraan.


Ang hindi ligtas na code ay tumutukoy sa isang pahayag o pamamaraan na nag-access sa hindi pinamamahalaang memorya, kabilang ang:

  • Mga tawag sa mga Windows API
  • Ang mga tawag sa Component Object Model (COM) na mga sangkap ng interface ng interface na kinasasangkutan ng mga istruktura na may mga payo o pagganap na kritikal na code.

Ang hindi ligtas na code ay pangunahing ginagamit kapag ang mga operasyon ay nagsasangkot ng mga payo at, sa pangkalahatan, kapag ang code ay naisakatuparan sa labas ng pinamamahalaang konteksto. Ang hindi ligtas na pagsasama ng code ay nangangailangan ng pagtutukoy ng opsyon na "/ hindi ligtas" sa utos ng compilation.


Sa ganap na mapagkakatiwalaang mga kapaligiran, kinakailangan ang CLR para sa hindi ligtas na pagpapatupad ng code. Gayunpaman, hindi tinitiyak ng CLR ang hindi ligtas na code. Sinusuportahan ng CLR ang hindi ligtas na code upang magbigay ng direktang pag-access sa hindi pinamahalaang memorya ng memorya, na kung minsan ay ginustong para sa mga kadahilanan sa pagganap.


Dahil pinapanatili ng CLR ang kaligtasan at seguridad, ang C # ay hindi sumusuporta sa pointer arithmetic sa pinamamahalaang code, hindi katulad ng C / C ++. Pinapayagan ng hindi ligtas na keyword ang paggamit ng pointer sa hindi pinamahalaang code. Gayunpaman, hindi ligtas ang kaligtasan dahil ang mga mahigpit na patakaran sa pag-access ng bagay ay hindi sinusunod. Halimbawa, ang mga kakayahan sa pagpapatakbo ng pointer ay hindi ibinigay sa Java Runtime Environment (JRE).


Ang hindi ligtas na code ay maaaring lumikha ng mga isyu na may katatagan at seguridad, dahil sa likas na kumplikadong syntax at potensyal para sa mga error na nauugnay sa memorya, tulad ng overflow ng pag-access, pag-access at pag-overwriting ng memorya ng system. Ang sobrang pag-aalaga ng developer ay pinakamahalaga sa pag-iwas sa mga potensyal na pagkakamali o mga panganib sa seguridad.

Ang kahulugan na ito ay isinulat sa konteksto ng C #
Ano ang hindi ligtas? - kahulugan mula sa techopedia