c# 通过dllimport 调用c 动态链接库

https://blog.csdn.net/zhunju0089/article/details/80906501

这篇文件很详细 讲述了如何创建c 动态链接库项目 有一些注意的地方 不做介绍

下面是.c文件里的代码片段,注意不是.cpp  cpp是c++文件的后缀

struct XY
{
    int x;
    int y;
};

extern __declspec(dllexport)
struct XY GetCoordinate(int a, int b, int c, int d, char * file)
{
    struct XY xy;
    xy.x = 0;
    xy.y = 1;
    return xy;
}

c#里我才用的是webapi接口的调用,采用相对路径引用dll,接口调用dll的函数

        [DllImport(@"../BluetoothSpotArea.dll", CallingConvention = CallingConvention.Cdecl)]
        public static extern XY GetCoordinate(int a, int b,int c,int d, string file);
 var a = BluetoothSpotAreaController.GetCoordinate(2,3,3,3,"hello");

经过测试 通过,看似非常简单的事情,由于之前没有遇到过,也是摸索了大半天才理顺

原文地址:https://www.cnblogs.com/njcxwz/p/9810662.html