WPF开发的界面调用C++生成的dll文件

时间:2024-05-18 16:51:02

以引用d1.dll为例。

【生成d1.dll】

文件——新建——项目——Visual C++——Win32项目,选择DLL,点击Finish。在d1.cpp中添加代码

#include "stdafx.h"
int add(int a, int b) {
    return a + b;
}

在项目名d1处,鼠标右键添加——新建项——Visual C++——代码——模块定义文件(.def),名称为d1.def

LIBRARY d1.dll
EXPORTS
add

运行,在Debug文件夹中获得d1.dll

【WPF引用d1.dll】

拖动控件,界面如下(2个textBox,1个label,1个button),界面编辑完成运行一次,把d1.dll文件放到生成的项目目录\bin\Debug中

WPF开发的界面调用C++生成的dll文件

cs代码如下

//以上为一些其他的命名空间
using System.Runtime.InteropServices;

namespace WpfApplication1
{
    public partial class MainWindow : Window
    {
        //WPF调用C++的dll文件,以下两行代码必不可少。
        [DllImport("d1.dll", EntryPoint = "add", CallingConvention = CallingConvention.Cdecl)]
       public static extern int add(int a, int b);
        private void button_Click(object sender, RoutedEventArgs e)
        {
            int a = Convert.ToInt32(textBox.Text);
            int b = Convert.ToInt32(textBox1.Text);
            label.Content = add(a, b);
        }
    }
}