Zuhause Entwicklung Was ist unsicher? - Definition aus techopedia

Was ist unsicher? - Definition aus techopedia

Inhaltsverzeichnis:

Anonim

Definition - Was bedeutet unsicher?

Unsicher ist ein C # -Schlüsselwort (C Programming Language), mit dem ein Codeabschnitt bezeichnet wird, der nicht von der Common Language Runtime (CLR) von .NET Framework verwaltet wird, oder nicht verwalteter Code. Unsafe wird in der Deklaration eines Typs oder Members oder zur Angabe von Blockcode verwendet. Bei der Angabe einer Methode ist der Kontext der gesamten Methode unsicher.


Unsicherer Code bietet eine gute Interoperabilität mit nicht verwalteten APIs (Application Programming Interfaces) oder Systemaufrufen und dient als kompatible Schnittstelle für DLLs (Dynamic Link Libraries) von Drittanbietern, für die Zeiger für die Parameterübergabe erforderlich sind. Unsicherer Code kann auch während des Debuggens verwendet werden, wenn der Prozessinhalt überprüft oder analysiert werden muss.

Techopedia erklärt Unsafe

Unsichere Daten beziehen sich auf zugewiesene Speicherdaten, die nicht von der CLR gesteuert werden, z. B. Windows-Handles oder Zeiger, die über eine neue Methode zugewiesen wurden.


Unsicherer Code bezieht sich auf eine Anweisung oder Methode, die auf nicht verwalteten Speicher zugreift, einschließlich:

  • Aufrufe an Windows-APIs
  • Aufrufe von Komponenten der COM-Methodenschnittstelle (Component Object Model), an denen Strukturen mit Zeigern oder leistungskritischem Code beteiligt sind.

Unsicherer Code wird hauptsächlich verwendet, wenn Vorgänge Zeiger enthalten und wenn Code im Allgemeinen außerhalb des verwalteten Kontexts ausgeführt wird. Die Kompilierung von unsicherem Code erfordert die Angabe der Option "/ unsicher" mit dem Kompilierungsbefehl.


In vollständig vertrauenswürdigen Umgebungen ist CLR für die Ausführung von unsicherem Code erforderlich. Die CLR überprüft jedoch keinen unsicheren Code. CLR unterstützt unsicheren Code, um direkten Zugriff auf nicht verwalteten Speichercode zu ermöglichen, der aus Leistungsgründen manchmal bevorzugt wird.


Da CLR die Typensicherheit gewährleistet, unterstützt C # im Gegensatz zu C / C ++ keine Zeigerarithmetik in verwaltetem Code. Das Schlüsselwort unsafe ermöglicht die Verwendung von Zeigern in nicht verwaltetem Code. Die Sicherheit ist jedoch nicht garantiert, da strenge Objektzugriffsregeln nicht befolgt werden. Beispielsweise werden in Java Runtime Environment (JRE) keine Zeigeroperationsfunktionen bereitgestellt.


Unsicherer Code kann aufgrund seiner inhärenten komplexen Syntax und des Potenzials für speicherbezogene Fehler, wie Stapelüberlauf, Zugriff auf und Überschreiben von Systemspeicher, Probleme mit Stabilität und Sicherheit verursachen. Zusätzliche Sorgfalt der Entwickler ist von größter Bedeutung, um potenzielle Fehler oder Sicherheitsrisiken abzuwenden.

Diese Definition wurde im Kontext von C # geschrieben.
Was ist unsicher? - Definition aus techopedia