每个静态链接 C 运行时的库是否都有不同版本的运行时?

问题描述

这似乎是最基本的问题,但我还没有真正处理过这类事情,所以我希望有人能给出解释。顺便说一句:

  1. 我有库 1,我将它编译为静态库 .lib,并在编译器选项中静态链接 C 运行时(在 Visual Studio /MT 标志上)。

  2. 我有库 2,我编译它的方式与库 1 完全相同。

然后我有我的程序,它是一个 .exe 程序/应用程序,在我的应用程序代码中,我静态链接 C 运行时。这是否意味着我的应用程序关于如何处理 std::vector(大小、调试细节等)或调用“operator new”或“malloc”的指令可能与其他两个库中的指令不同?以及每个库中的说明与其他库中的说明是否不同?

假设我以一致的方式构建库和我的 .exe 应用程序,即所有调试或发布模式,两个库和我的应用程序之间的运行时类和函数之间是否仍然存在潜在差异,具体取决于运行时是什么编译时静态链接

如果答案是肯定的,并且如果动态链接每个库的运行时是最佳解决方案,那么有什么方法可以确保每个库链接相同版本的动态运行时库?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)