我认为静态链接(到 CRT,即/MT
编译器选项)在构建小型工具时非常方便,这要归功于易于部署。(像 Process Explorer 这样的Sysinternals 工具就是一个例子。)
然而,有人让我注意到,CRT 使用的几种资源可能会在插件架构(例如 shell 扩展)等上下文中耗尽:特别是,FLS 索引似乎是最快耗尽的资源,并且LoadLibrary()
在加载第 127 个时可能会失败CRT 静态链接的 DLL。
我已经构建了一些 shell 扩展,但我从未遇到过这个问题。
有没有人遇到过CRT 静态链接的进程内 COM 服务器(如 shell 扩展)的资源耗尽问题?
如果是这样,是否有一个“修复”(除了使用动态链接到 CRT,不幸的是,这会使部署复杂化,并且需要为 VCRedist 下载一些兆字节,而使用 CRT 静态链接的小东西只有几百千字节。 ..)。