72)MFC测试动态共享库
动态共享库:
首先我建立一个新的动态库:
然后不选择空项目了,因为我们普通的cpp文件 入口是main win32入口是winmain 那么这个动态库的入口在哪里 我们就是为了看一看:
出来这样的结果:
然后我们看看他是怎么进入这个函数的,就是这个case,下面我们新建一个MFC项目:
发现一个点:
然后 我们修改那个动态库中的代码:
趁着我的动态库是加黑的 所以直接生成就行了。
因为 我们将动态库和MFC项目放到衣蛾解决方案下的 所以 就不用导入 动态库的.h文件 dll文件和lib文件,只不过在写 #pragma时和#include时 那个文件的路径有区别 要写对
修改启动项的项目:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
然后我们看结果
然后 我们看一下那个动态库的入口函数怎么进去的,我们在那个dllmain函数的switch中加一个断点:
看我们的运行:
动态共享段
然后 因为那个dll的文件实际上是 都在内存中是共享的,就是 一块内存中存着dll的内容,要是有程序用到dll内容 就直接使用那块内存中存的数据,他们的模型就相当于这样:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~·
那么,我们就得建立关键段来保护这些数据。
首先建立那个Source.def方式建立动态库:
然后选择 模块定义文件:
然后我添加关键段的代码:
然后我再修改动态库的头文件的名字:
然后 我们生成动态库:
然后,我们修改一下那个MFC的代码:
给编辑框添加一个变量:
修改几个参数:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~·
添加setvalue按键的处理函数和getvalue按键处理函数代码内容
然后结果展示:
显示出共享:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~