WPF开发的界面调用C++生成的dll文件
以引用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); } } }
分类:
WPF
标签:
WPF调用C++生成的dll文件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!