Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.


  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • DownloadDownload
  • PrintPrint
Share this Page URL
Help

Unsicherer Code und Zeiger > Unsicherer Code

Unsicherer Code

Indem Sie einen Typ, einen Typ-Member oder einen Anweisungsblock mit dem Schlüsselwort unsafe kennzeichnen, dürfen Sie innerhalb dieses Geltungsbereichs Zeiger-Typen nutzen und Zeiger-Operationen im C++-Stil auf Speicherbereichen durchführen. Hier ein Beispiel für die Verwendung von Zeigern, um eine Bitmap schnell zu verarbeiten:

unsafe void RedFilter(int[,] bitmap)
{
  int length = bitmap.Length;
  fixed (int* b = bitmap)
  {
    int* p = b;
    for(int i = 0; i < length; i++)
      *p++ &= 0xFF;
  }
}

Unsicherer Code kann schneller laufen als die entsprechende sichere Implementierung. In diesem Fall wäre eine verschachtelte Schleife mit Array-Indexierung und Prüfung der Array-Grenzen notwendig. Eine unsichere C#-Methode kann auch schneller sein als das Aufrufen einer externen C-Funktion, da es keinen Overhead gibt, der durch das Verlassen der verwalteten Ausführungsumgebung entsteht.


  

You are currently reading a PREVIEW of this book.

                                                                                        

Get instant access to over
$1 million worth of books and videos.

  

Start a Free Trial