|
|
1
74
通过与/MD动态链接,
我还发现,在实践中,当使用使用不同运行时选项构建的静态链接的第三方纯二进制库时,主应用程序中的/MT往往比/MD更容易引起冲突(因为如果C运行时被多次静态链接,特别是如果它们是不同的版本,你会遇到麻烦)。 |
|
|
2
29
如果你为.exe和所有.dll使用静态CRT,那么它们都会得到一个单独的CRT副本,这意味着它们都会使用自己的CRT堆,因此必须在分配内存的同一模块中释放内存。您还将遭受代码膨胀(CRT的多个副本)和过度的运行时开销(每个堆从操作系统分配内存以跟踪其状态,开销可能很明显)。 |
|
|
3
17
我认为通过Visual Studio构建的项目的默认值是/MD。
我自己使用/MT,这样我就可以忽略整个DLL混乱。 P.S.As Mr. Fooz 指出,保持一致性至关重要。如果你与其他库链接,你需要使用它们所做的相同选项。如果你使用的是第三方DLL,几乎可以肯定你需要使用运行库的DLL版本。 |
|
|
4
13
|
|
|
5
8
|
|
|
6
7
从 http://msdn.microsoft.com/en-us/library/2kzt1wy3(VS.71).aspx :
所以,如果我正确地解释了它,那么 /MT /MD 动态链接。 |
|
|
7
1
如果您正在构建使用其他dll或库的可执行文件,那么/MD选项是首选,因为这样所有组件都将共享同一个库。当然,此选项应适用于所有涉及的模块,即dll/lib.exe。 如果你的可执行文件不使用任何库或dll,那么任何人都可以调用它。现在差异不大,因为共享方面没有发挥作用。 因此,也许你可以用/MT启动应用程序,因为没有其他令人信服的理由,但当需要添加库或dll时,你可以用lib/dll将其更改为/MD,这很容易。 |
|
|
Helic · 引用项目中的Visual Studio生成事件 2 年前 |
|
|
Fardin Jim · React中的HandleError 2 年前 |
|
Sam · 返回Visual Studio中文档注释中的标记 2 年前 |
|
|
Natty · Visual Studio中缺少“代码覆盖率结果” 2 年前 |
|
|
xTMx · 如何修复恢复自定义Nuget软件包的问题? 2 年前 |
|
|
CCarter · 只能在设计器中DependencyObject的DependencyProperty上设置显示“Binding”的WPF ICommand DependencyProperties[重复] 2 年前 |
|
|
Max · VS 2022中的缩放级别在哪里 2 年前 |