代码块使用Visual C ++开发人员工具运行

时间:2013-11-23 10:57:25

标签: c++ multithreading codeblocks

当我创建一个新项目时,会打开一个警告框,询问

多线程动态CRT模式 要么 多线程静态CRT模式

有什么区别? 并解释..

1 个答案:

答案 0 :(得分:2)

  • 动态动态链接运行时,这意味着您编译的文件会更小,但需要安装Microsoft Visual C ++运行时文件。根据目标系统的Windows版本以及其中安装的其他程序(以及您正在使用的VS版本),可能已经安装了这些程序,但您永远无法确定,因此您至少会有提供下载链接,以防程序无法运行。
  • 静态静态链接运行时,这意味着使用的部件包含在已编译的文件中。这将导致稍大的文件(取决于您使用的CRT的部分数量),并且您的代码可能会稍快一些。您不需要在目标系统上存在运行时文件。

选择哪一个?由你决定。

  • 如果您提供的安装程序将采用依赖项核心(如CRT),则使用动态版本可能是更好的选择,尤其是当您使用多个二进制文件(如可执行文件和库)时。否则,您可能最终会得到重复的代码。

  • 为了获得更好的“解压缩和运行”体验,我更喜欢使用静态运行时。

  • 您也可以使用动态运行时并提供一个小的“bootstrap”程序,该程序与静态运行时链接并检查运行时是否已正确安装。如果不是,它将在运行实际程序之前下载并安装它。