以引用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中。
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); } } }