175 Stimmen

Was ist verwalteter oder nicht verwalteter Code in der Programmierung?

Ich verwende einen bestimmten Befehl in meinem C#-Code, der gut funktioniert. Es wird jedoch gesagt, dass es sich in "unmanaged" Code falsch verhält.

Was ist verwalteter oder nicht verwalteter Code?

4voto

joegtp Punkte 712

Grundsätzlich unmanaged Code ist Code, der nicht unter der .NET CLR (aka nicht VB.NET, C#, etc.) ausgeführt wird. Meine Vermutung ist, dass NUnit einen Läufer/Wrapper hat, die nicht .NET-Code (aka C++) ist.

4voto

Saket Kumar Punkte 29
  • Verwaltet Code: in .NET-Sprache wie C#, VB.NET geschriebener Code.
  • Unverwaltet Code: Code, der nicht in .NET-Sprache geschrieben ist und MSIL nicht versteht, was es ist und nicht unter CLR ausgeführt werden kann; wie Steuerelemente von Drittanbietern, die wir in unseren .NET-Anwendungen verwendet haben und die nicht in .NET-Sprachen erstellt wurden.

4voto

GMalla Punkte 191

Verwalteter Code:
Code, der unter einem "Kooperationsvertrag" mit der gemeinsamen Sprachlaufzeit. Verwalteter Code muss die Metadaten liefern liefern, die die Laufzeitumgebung benötigt, um Dienste wie die Speicherverwaltung Speicherverwaltung, sprachübergreifende Integration, Code-Zugriffssicherheit und automatische Kontrolle der Lebensdauer von Objekten. Sämtlicher Code, der auf Microsoft intermediate language (MSIL) basiert, wird als verwalteter Code ausgeführt.

Nicht verwalteter Code:
Code, der ohne Rücksicht auf die Konventionen und Anforderungen der gemeinsamen Sprachlaufzeit. Nicht verwalteter Code wird in der Common-Language-Laufzeitumgebung mit minimalen Diensten aus (z.B. keine Garbage Collection, begrenztes Debugging, etc. usw.).

参考 http://www.dotnetspider.com/forum/11612-difference-between-managed-and-unmanaged-code.aspx

3voto

leppie Punkte 111830

NUnit lädt die Unit-Tests in einer separaten AppDomain, und ich nehme an, dass der Einstiegspunkt nicht aufgerufen wird (wahrscheinlich nicht benötigt), daher ist die Einstiegsgruppe null.

2voto

chirag Makwana Punkte 21

Verwalteter Code läuft innerhalb der CLR-Umgebung, d.h. der .NET-Laufzeit, kurz gesagt, alle AWLs sind verwalteter Code. Wenn Sie jedoch Software von Drittanbietern verwenden, z. B. VB6- oder VC++-Komponenten, handelt es sich um nicht verwalteten Code. NET-Laufzeit (CLR) hat keine Kontrolle über die Ausführung des Quellcodes der Sprache. der Sprache hat.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X