作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在搜索为什么 rundll32.exe 进程在我的系统上运行,当我发现它作为一个容器运行 dll 作为应用程序/exe 的信息时。我无法理解我希望将 dll 作为应用程序运行的原因/用例。库不只是为了提供功能支持而不是作为单独的应用程序运行吗?
最佳答案
rundll32 并不意味着一般地“运行 dll”(它实际上没有任何意义,dll 没有单个入口点并且“经典”dll 没有足够的元信息来正确调用任何导出的符号)。
相反,它允许使用符合某些明确定义的规范的 dll 作为具有多个入口点的可执行文件;我认为这个想法是要么允许将具有大量共享代码的多个小型实用程序合并到一个二进制文件中,和/或向主要供其他应用程序使用的库提供额外的“测试”入口点(手动调用)。
rundll 所做的基本上是将 dll 加载到内存中并调用指定的函数,期望它必须具有与 exe 入口点相同的签名。
更多信息可用in the relevant KB article .
关于windows - rundll32.exe的实际用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35059988/
这个问题在这里已经有了答案: How does RunDll32 work? (2 个答案) 关闭 8 年前。 我在 Visual Studio 2010 中创建了一个非常简单的 DLL,一个 DL
我是一名优秀的程序员,十分优秀!