C#和C混合编程——C#调用C封装成的dll

1、将dll文件复制到C#工程文件夹下bin->debug下

2、在form1.cs,头文件先添加
using System.Runtime.InteropServices;

3、在public partial class Form1 : Form下调用dll:

 [DllImport("client_dll1.dll", CallingConvention = CallingConvention.Cdecl)]
        public static extern int connectt(string ipp);
[DllImport("client_dll1.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern IntPtr communication(string str);

""内为dll的名称,public static extern后面包含了函数返回值的类型,函数名称,函数参数。需要注意的是,返回值类型和参数类型,需要c和C#一一对应。例如在connectt函数中ipp在C为char类型,对应C#为string;communication函数返回值为char对应C#为IntPtr。

4、现在即可可以在C#调用第3步声明的两个函数,例如

 private void connect_Click(object sender, EventArgs e)
        {
            string ippp;
            int b;
            ippp = ipin.Text;
            b = connectt(ippp);
            if (b == 3)
                MessageBox.Show("连接成功");
            else MessageBox.Show("连接失败");
        }

猜你喜欢

转载自blog.csdn.net/weixin_43428892/article/details/106799295
今日推荐