.net调用vc dll

首先编写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!

 

你可能感兴趣的:(.net)