Compartilhar via


Funções externas (F#)

Este tópico descreve o suporte para idiomas F# para chamar funções em código nativo.

[<DllImport( arguments )>]
extern declaration

Comentários

Na sintaxe anterior, arguments representa os argumentos que são fornecidos para o DllImportAttribute atributo. O primeiro argumento é uma seqüência de caracteres que representa o nome da DLL que contém essa função, sem a extensão. dll. Argumentos adicionais podem ser fornecidos para qualquer uma das propriedades públicas da DllImportAttribute classe, como, por exemplo, a convenção de chamada.

Suponha que você possua um nativo C++ DLL que contém a seguinte função exportada.

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

Você pode chamar essa função de F# usando o código a seguir.

open System.Runtime.InteropServices

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

InteropWithNative.HelloWorld()

Interoperabilidade com código nativo é chamada de de invocação de plataforma e é um recurso do CLR. Para obter mais informações, consulte Interoperação com código não gerenciado. As informações nesta seção são aplicáveis a F#.

Consulte também

Referência

Funções (F#)