首先编写C++代码,

创建一个C++空项目,命名为cinterop。修改项目的配置类型为动态链接库(.dll)。

添加一个头文件CInteropDLL.h,内容如下:

#define CINTEROPDLL_API __declspec(dllexport)
extern "C" {
    void CINTEROPDLL_API HelloWorld();
}

再添加一个代码文件CInteropDLL.cpp,内容如下:

#include <stdio.h>
#include "CInteropDLL.h"

void CINTEROPDLL_API HelloWorld()
{
    printf("Hello C world invoked by F#!\n");
}

 编译项目,生成cinterop.dll文件。

创建一个F#控制台应用程序项目,名称任意。保存项目,以获得目录。然后将cinterop.dll文件复制到.exe文件所在的目录。

代码如下:

open System.Runtime.InteropServices

module CInterop =
    [<DllImport("cinterop", CallingConvention = CallingConvention.Cdecl)>]
    extern void HelloWorld()

CInterop.HelloWorld()
System.Console.ReadLine() |> ignore

编译运行,Ok!

 

相关文章:

  • 2022-02-23
  • 2022-12-23
  • 2021-06-02
  • 2022-02-10
  • 2021-06-23
  • 2022-02-03
  • 2021-09-07
  • 2021-12-26
猜你喜欢
  • 2021-12-13
  • 2021-08-17
  • 2021-09-09
  • 2022-12-23
  • 2022-12-23
  • 2021-05-31
相关资源
相似解决方案