本篇文章主要介绍了如何在Visual Studio 2017环境下使用MFC(Microsoft Foundation Classes)与DLL(动态链接库)通过共享内存进行通信。首先,作者从新建MFC项目开始,创建一个名为"MFC_DLL"的解决方案,其中包含一个名为"test_dll"的动态链接库项目。以下是详细步骤: 1. **项目设置**:选择"Windows桌面向导",并在解决方案配置中指定项目名称。确保将项目类型设为"动态链接库",并勾选"导出符号",以便外部模块能够引用和使用。 2. **添加文件**:在test_dll项目中,添加头文件"test_out.h"和"test_proto.h",以及源文件"test_main.cpp"。这将用于定义接口和提供实现。 3. **修改头文件**:在test_dll.h中,原先是使用`__declspec`来指示导出或导入,这里调整为`extern"C"`以处理C语言兼容性,并添加了新的导出函数:`test_init()`, `test_run()`, 和 `test_stop()`。此外,将全局变量和函数原型也相应更新。 4. **修改源文件**:引入了所需的Windows和stdio.h头文件,然后重新组织了代码结构,移除了原来简单的示例函数,改为实现了新的导出函数,如构造函数`Ctestdll::Ctestdll()`,以及初始化、运行和停止操作的函数。 通过这些更改,开发者可以在MFC应用程序中通过共享内存调用DLL中的函数,例如启动、控制和停止testdll的功能。这对于初学者学习MFC与DLL交互以及共享内存通信是一个很好的实践案例。由于提供的代码适用于VS2017,因此在VS2019环境下也能正常使用,只要保证兼容性和构建设置正确即可。 本文档不仅包含了具体的代码示例,还适合那些希望了解如何在MFC框架中利用DLL进行功能模块化和高效通信的开发人员参考。通过阅读和实践,读者可以更好地理解和掌握这一技术。
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 0
- 资源: 8
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 计算机系统基石:深度解析与优化秘籍
- 《ThinkingInJava》中文版:经典Java学习宝典
- 《世界是平的》新版:全球化进程加速与教育挑战
- 编程珠玑:程序员的基础与深度探索
- C# 语言规范4.0详解
- Java编程:兔子繁殖与素数、水仙花数问题探索
- Oracle内存结构详解:SGA与PGA
- Java编程中的经典算法解析
- Logback日志管理系统:从入门到精通
- Maven一站式构建与配置教程:从入门到私服搭建
- Linux TCP/IP网络编程基础与实践
- 《CLR via C# 第3版》- 中文译稿,深度探索.NET框架
- Oracle10gR2 RAC在RedHat上的安装指南
- 微信技术总监解密:从架构设计到敏捷开发
- 民用航空专业英汉对照词典:全面指导航空教学与工作
- Rexroth HVE & HVR 2nd Gen. Power Supply Units应用手册:DIAX04选择与安装指南
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)