الخارجية دالات (F#)

يصف هذا الموضوع F# لغة اعتماد استدعاء الدالات في تعليمات برمجية الأصلية.

[<DllImport( arguments )>]
extern declaration

ملاحظات

في بناء الجملة السابق، argumentsيمثل الوسيطات التي تم تزويدك DllImportAttributeالسمة. وسيطة الأولى هو سلسلة أحرف يمثل اسم مكتبة الارتباط الديناميكي الذي يحتوي على رقم هو دالة، بدون ملحق.dll. يمكن أن يتم توفير وسائط إضافى لأي من الخصائص العمومية من DllImportAttributeclكـs، مثل كـ اصطلاح الاستدعاء.

افترض أن لديك أصلي 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#)