DLL如何导出零?

Bry*_*phy 6 dll dllexport

我最近遇到了一个安装在我的系统上的DLL,Dependancy Walker(以及我试过的其他所有实用程序)说按名称或序号导出零,但文件大小约为4mb.我认为DLL的唯一目的是导出函数供其他代码使用,那么没有可见导出的dll的目的是什么?

Cri*_*urf 4

将 DLL 视为函数的容器的一种方式。从 DLL 导出函数使这些函数对 DLL 外部的调用者可见。虽然从 DLL 导出函数可能是提供对它们的访问的最常见方法,但许多平台提供了其他方法来访问尚未导出的函数,例如 .NET Framework 和 Java 中的反射以及(我认为)LoadLibtary / GetProcAddress Win32

这样做的原因多种多样,通常是因为在库中拥有函数对开发人员有利,但从外部应用程序调用这些函数是不受欢迎的