Freigeben über


Externe Funktionen (F#)

In diesem Thema wird die Unterstützung in F# für den Aufruf von Funktionen in systemeigenem Code beschrieben.

[<DllImport( arguments )>]
extern declaration

Hinweise

In der vorherigen Syntax stellt arguments für das DllImportAttribute-Attribut angegebene Argumente dar.Das erste Argument ist eine Zeichenfolge, die den Namen der DLL darstellt, die diese Funktion enthält, ohne die DLL-Erweiterung.Weitere Argumente können für eine beliebige der öffentlichen Eigenschaften der DllImportAttribute-Klasse angegeben werden, z. B. die Aufrufkonvention.

Angenommen, Sie verfügen über eine systemeigene C++-DLL mit der folgenden exportierten Funktion.

#include <stdio.h>
extern "C" void __declspec(dllexport) HelloWorld()
{
    printf("Hello world, invoked by F#!\n");
}

Sie können die Funktion von F# mithilfe des folgenden Codes aufrufen.

open System.Runtime.InteropServices

module InteropWithNative =
    [<DllImport(@"C:\bin\nativedll", CallingConvention = CallingConvention.Cdecl)>]
    extern void HelloWorld()

InteropWithNative.HelloWorld()

Die Interoperabilität mit systemeigenem Code wird als Plattformaufruf bezeichnet und ist eine Funktion der CLR.Weitere Informationen finden Sie unter Interoperation mit nicht verwaltetem Code.Die Informationen in diesem Abschnitt gelten für F#.

Siehe auch

Referenz

Funktionen (F#)