Externí funkce (F#)
Toto téma popisuje F# jazyková podpora pro volání funkcí v nativním kódu.
[<DllImport( arguments )>]
extern declaration
Poznámky
V syntaxi předchozí arguments představuje argumenty, které jsou dodávány DllImportAttribute atributu.První argument je řetězec představující název knihovny DLL, která obsahuje tato funkce bez přípony DLL.Další argumenty lze zadat pro všechny veřejné vlastnosti DllImportAttribute třídy, například konvence volání.
Předpokládejme, že máte nativního C++ knihovny DLL, která obsahuje následující funkce exportované.
#include <stdio.h>
extern "C" void __declspec(dllexport) HelloWorld()
{
printf("Hello world, invoked by F#!\n");
}
Tuto funkci lze volat z F# pomocí následujícího kódu.
open System.Runtime.InteropServices
module InteropWithNative =
[<DllImport(@"C:\bin\nativedll", CallingConvention = CallingConvention.Cdecl)>]
extern void HelloWorld()
InteropWithNative.HelloWorld()
Spolupráce s nativní kód je označována jako platform vyvolat a je funkce CLR.Další informace naleznete v tématu Spolupráce s nespravovaným kódem.Informace v této části platí pro F#.