Rumah Pembangunan Apa yang tidak selamat? - definisi dari techopedia

Apa yang tidak selamat? - definisi dari techopedia

Isi kandungan:

Anonim

Definisi - Apa maksudnya yang tidak selamat?

Tidak selamat adalah kata kunci bahasa pemrograman C (C #) yang digunakan untuk menandakan satu bahagian kod yang tidak diuruskan oleh Runtime Language Common (CLR) dari .NET Framework, atau kod unmanaged. Tidak selamat digunakan dalam pengisytiharan jenis atau ahli atau untuk menentukan kod blok. Apabila digunakan untuk menentukan kaedah, konteks keseluruhan kaedah tidak selamat.


Kod yang tidak selamat memberikan interoperabilitas yang baik dengan antara muka pengaturcaraan aplikasi yang tidak dikendalikan (API) atau panggilan sistem dan berfungsi sebagai antara muka serasi untuk perpustakaan pautan dinamik pihak ketiga (DLL), yang memerlukan petunjuk untuk lulus parameter. Kod yang tidak selamat juga boleh digunakan semasa debugging, apabila kandungan proses memerlukan pemeriksaan atau analisis.

Techopedia menjelaskan Tidak selamat

Data yang tidak selamat merujuk kepada data memori yang diperuntukkan yang tidak dikawal oleh CLR, seperti pengendalian Windows atau petunjuk yang diperuntukkan melalui kaedah baru.


Kod yang tidak selamat merujuk kepada pernyataan atau kaedah yang mengakses memori yang tidak diurus, termasuk:

  • Panggilan ke API Windows
  • Panggilan kepada komponen Objek Model Komponen (COM) komponen antara muka yang melibatkan struktur dengan petunjuk atau kod penting prestasi.

Kod yang tidak selamat digunakan terutamanya apabila operasi melibatkan penunjuk dan, secara amnya, apabila kod dilaksanakan di luar konteks yang diuruskan. Kompilasi kod yang tidak selamat memerlukan pilihan pilihan "/ tidak selamat" dengan arahan kompilasi.


Dalam persekitaran yang dipercayai sepenuhnya, CLR diperlukan untuk pelaksanaan kod yang tidak selamat. Bagaimanapun, CLR tidak mengesahkan kod yang tidak selamat. CLR menyokong kod yang tidak selamat untuk memberikan akses langsung ke kod memori yang tidak dikendalikan, yang kadang-kadang lebih disukai kerana sebab-sebab prestasi.


Kerana CLR mengekalkan keselamatan dan keselamatan jenis, C # tidak menyokong aritmetik penunjuk dalam kod yang dikelola, tidak seperti C / C ++. Kata kunci yang tidak selamat membenarkan penggunaan penunjuk dalam kod yang tidak dikelola. Walau bagaimanapun, keselamatan tidak dijamin kerana peraturan akses objek yang ketat tidak diikuti. Sebagai contoh, keupayaan operasi penunjuk tidak disediakan dalam Persekitaran Runtime Java (JRE).


Kod yang tidak selamat boleh menimbulkan masalah dengan kestabilan dan keselamatan, kerana sintaks kompleks dan potensi untuk ralat berkaitan memori, seperti limpahan limpah, mengakses dan menguji memori sistem. Penjagaan pemaju tambahan adalah penting untuk mengelakkan kemungkinan kesalahan atau risiko keselamatan.

Takrif ini ditulis dalam konteks C #
Apa yang tidak selamat? - definisi dari techopedia