有两个问题让我很困惑:
我从微软网站上读到,我们不能在同一个项目中使用不同的 C 运行时。假设我有一个用 /MT 标志编译的 dll,那么我不能在 /MD 编译的项目中使用该 dll。我的问题是,如果我使用 LoadLibrary() 加载 dll,我是否也需要拥有相同的 C 运行时?如果我不这样做有什么潜在的危险?
我认为使用 /MT 标志,运行时静态链接到二进制文件中。但是对于我的一个 dll 项目,我用 /MT 制作了一个 dll。但是,当我转储bin.exe /dependents mydll 时,它显示MSVCR100.dll 是一个依赖项。我的问题是为什么dll仍然依赖于MSVCR100.dll?