외부 함수(F#)

이 항목에서는 네이티브 코드의 함수를 호출하는 F# 언어의 지원 기능을 설명합니다.

[<DllImport( arguments )>]
extern declaration

설명

위 구문에서 arguments는 DllImportAttribute 특성에 제공되는 인수를 나타냅니다. 첫째 인수는 이 함수를 포함하는 DLL의 이름을 .dll 확장명 없이 나타내는 문자열입니다. 호출 규칙 등과 같은 DllImportAttribute 클래스의 공용 속성에 대해 인수를 추가로 제공할 수 있습니다.

다음과 같이 내보낸 함수가 포함된 네이티브 C++ DLL이 있다고 가정해 봅시다.

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

다음 코드를 사용하여 F#에서 이 함수를 호출할 수 있습니다.

open System.Runtime.InteropServices

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

InteropWithNative.HelloWorld()

네이티브 코드와의 상호 운용성을 플랫폼 호출이라고 합니다. 이는 CLR의 기능입니다. 자세한 내용은 비관리 코드와의 상호 운용을 참조하십시오. 이 단원에서 설명하는 내용은 F#에 적용됩니다.

참고 항목

참조

함수(F#)