什么时候用VC ++开发的程序需要在目标机器上安装.NET Framework,什么时候需要MS VC ++ Redistributable Package?

时间:2012-07-14 09:22:56

标签: .net visual-c++

背景:我主要使用Java编程,但每隔一段时间我就会调用VC ++中编译的.dll中包含的一些函数。我正在尝试创建一个安装程序包来检查我的程序的先决条件。我试图了解目标计算机何时需要.NET Framework来运行我的程序以及何时需要Microsoft Visual C ++ Redistributable Package。

我相信以下问题可以帮助我理解我的主要问题的答案:

假设我编写并成功编译了一个程序,该程序由一个简单的'cout<< “喜”;” Visual C ++中的语句。计划要运行的机器是否需要安装.NET Framework?

所谓的公共语言运行时和Microsoft Visual C ++可再发行组件包之间有什么区别(我理解为另一种类型的运行时)?

1 个答案:

答案 0 :(得分:3)

如果您正在使用它,则只需要.NET框架。一个简单的cout << "hi";程序绝对不需要在任何DOS / Windows(假设它是一个控制台应用程序)平台上成功运行其他软件包/框架。

但是,如果您正在使用.NET框架的任何功能 - 那么,预计您需要将它存在于目标计算机上。

至于可再发行 - 这里是MSDN的摘录:

  

此软件包安装C Runtime(CRT),标准C ++,ATL,MFC,OpenMP和MSDIA库的运行时组件

这意味着如果您将它们用作DLL,则需要此软件包中的库(DLL)。您仍然可以轻松地将大多数所需组件直接链接到您的可执行文件中,在这种情况下您不需要DLL。您可以指定您更喜欢使用共享的DLL资源来存储库&#39;代码,在这种情况下,您需要目标计算机上的Redistributable运行时。