我在Dependency Walker中打开了我的程序。它显示以下DLL:
所以我猜测其中一半是Windows的一部分而另一半是C ++的一部分,对吧?找出哪些是操作系统的一部分而哪些不是最好的方法是什么?
答案 0 :(得分:2)
请不要将您未明确添加到项目中的任何 DLL打包。
阅读工具链(Visual Studio或其他)的文档,以了解是否需要在程序包中包含任何可再发行组件。这些可能包括一些DLL。
如果您不允许发布安装程序(其形式通常由Microsoft产品的可再发行组件采用),那么您不应简单地手动转储DLL。您应在发行说明中注明,必须已在目标系统上安装这些依赖项。您将它们作为应用程序的先决条件。
答案 1 :(得分:1)
MSVCP100.dll和MSVCR100.dll包含C和C ++的运行时库。列表中的其他所有内容都属于Windows。确定DLL是否属于Windows的一种方法是查看它的路径(c:\ windows ...),然后检查来自MS的数字签名。它并非万无一失,但它会让您更接近确定DLL是否属于Windows。
编辑:请参阅Orbit中的Lightness Races关于分发Windows DLL的this回答
答案 2 :(得分:0)
除了使用谷歌查找它们之外,可能没有简单的方法可以说明问题。但是,在这种情况下,我可以告诉您MSVCP100.DLL
是C ++标准库代码,MSVCR100.DLL
是C运行时库。
答案 3 :(得分:0)
Dependency Walker本身有“已知系统DLL”列表。您可以在选项中找到它 - >配置模块搜索顺序菜单。