概述
网上找了下关于WPF调用dll的例子,有很多写的好的文章,而且也付了Sample,但是相对比较简单,知识点覆盖面还是不够广。
于是我着手整合了一个完整的例子,方便需要的开发者查阅,由于笔者能力所限,代码不一定完善,有问题请大家留言。
以下是相关的wiki:
- WPF调用dll-用C语言编写动态库
- WPF调用dll-C#编写marshal层
- WPF调用dll-WPF通过marshal层调用dll并调试
开发环境及工具
硬件:i7-8700 16G 系统:Win10 x64 IDE:Visual Studio 2019
Sample的说明
这个Soluction包含四个Project:
-
包含日志打印相关函数c_common
-
C编写的动态库c_dll
-
针对C-dll的marshal层marshal_cdll
-
.Net Framework控制台应用,模拟WPF调用marshal层接口Cdll_Sample
他们之间的关系:
GitHub:https://github.com/SwackSun/sample-wpf-swack-c_dll_marshal