怎么在编译dll文件时将自己写的类的构造函数作为接口?

电脑杂谈  发布时间:2019-10-09 03:02:28  来源:网络整理

mfc生成的exe文件怎么找与之关联的dll文件_dll是什么文件_怎么写dll文件

展开全部

这里,我们为了详细表明DLL的机理,我们决定使用最简单的编译环境VC6.0,如下图,我们先制定一个新的Win32 Dynamic-Link Library工程,名称为“MyDLL”,在Visual Studio中,你也可以借助完善Win32控制台程序怎么写dll文件,然后在“应用程序类型”中选取“DLL”选项,

mfc生成的exe文件怎么找与之关联的dll文件_怎么写dll文件_dll是什么文件

点击确认,选择“一个空的DLL工程”,确定,完成即可。

一个简单的dll

dll是什么文件_mfc生成的exe文件怎么找与之关联的dll文件_怎么写dll文件

在第一步我们创建的项目中构建一个源码文件”dllmain.cpp“,在“dllmain.cpp”中,键入如下代码

#include <Windows.h>#include <stdio.h>BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved){switch (ul_reason_for_call){case DLL_PROCESS_ATTACH:printf("DLL_PROCESS_ATTACH\n");break;case DLL_THREAD_ATTACH:printf("DLL_THREAD_ATTACH\n");break;case DLL_THREAD_DETACH:printf("DLL_THREAD_DETACH\n");break;case DLL_PROCESS_DETACH:printf("DLL_PROCESS_DETACH\n");break;}return TRUE;}

mfc生成的exe文件怎么找与之关联的dll文件_dll是什么文件_怎么写dll文件

之后,我们直接编译,即可以在Debug文件夹下,找到我们生成的dll文件,“MyDLL.dll”,注意,代码后面的printf语句,并不是必须的,只是我们用于检测程序时使用。而DllMain函数,是dll的开启/退出函数。

实际上,让线程调用DLL的方法有两种,分别是隐式链接和显式链接,其目的均是将DLL的文件映像映射进线程的进程的地址空间。我们这儿只大约提一下,不做深入探究,如果感兴趣,可以去看《Window高级编程指南》的第12章内容。

怎么写dll文件_mfc生成的exe文件怎么找与之关联的dll文件_dll是什么文件

隐式链接调用

隐士地链接是将DLL的文件制约映射到进程的地址空间中最常见的方式。当链接一个应用程序时怎么写dll文件,必须建立要链接的一组LIB文件。每个LIB文件中包括了DLL文件禁止应用程序(或另一个DLL)调用的变量的列表。当链接器看到应用程序调用了某个DLL的LIB文件中给出的函数时,它就在生成的EXE文件映像中加入了信息,指出了包括变量的DLL文件的名称。当操作系统加载EXE文件时,系统查看EXE文件映像的内容来看要放到什么DLL,而后试图将必须的DLL文件映像映射到进程的地址空间中。当寻求DLL时,系统在系列位置查找文件映像。


本文来自电脑杂谈,转载请注明本文网址:
http://xinshanjie.com/a/jisuanjixue/article-125647-1.html

    相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 韩鑫宇
      韩鑫宇

      也道出了实情

    • 高晓虎
      高晓虎

      剩者和胜者的辩证关系在马云身上完美展现

    热点图片
    拼命载入中...