【发布时间】:2013-01-22 20:48:04
【问题描述】:
我是 Microsoft Visual Studio 用户。 我的问题是关于“C/C++ 运行时库”。
我使用包含以下代码的“.cpp”源文件“main.cpp”创建了一个“空项目”:
#include <iostream>
int main(void)
{
std::cout << "Hello World" << std::endl;
return 0;
}
"iostream 是一个头文件,用于 C++ 编程语言的输入/输出。 它是 C++ 标准库的一部分。”
“C/C++ 运行时库”和“C/C++”有区别吗 标准库”?
我如何知道“C/C++ 运行时库”是否 库是静态链接还是动态链接到项目?
我如何知道这个库在文件系统中的位置?
如果“C/C++ 运行时库”动态链接到 项目,我怎么知道使用了哪个“.dll”以及在哪里使用 “.dll”位于文件系统中?
假设我将“C/C++ 运行时库”静态链接到项目,我能否确定从源代码生成的可执行文件可以在所有 Windows 平台(XP/Vista/Seven/.. ., 32 位/64 位)?
将“C/C++ 运行时库”动态链接到项目有哪些优点/缺点?
“C/C++ 运行时库”应该是静态链接还是动态链接到项目?
【问题讨论】:
-
我想您可以在 Microsoft 网站上找到更多信息。总之,很多程序都需要你下载
vc_redists,所以我没有理由不期待它/可以安装。 -
您能否更具体地了解在 Microsoft 网站上的何处可以找到信息?我不确定我是否理解您答案的第二部分。在动态链接的情况下,必须提供程序集以防它们不在目标系统上......不是吗?
-
运行时组件可以是downloaded from Microsoft。它只需要执行一次,所以如果你的程序不是第一个使用特定编译器版本的程序,它就可以工作。
-
标准方式是使用动态链接。运行时依赖问题通过创建安装包来解决 - 看看安装和部署 Visual Studio 项目。静态链接仅在某些特殊情况下使用。
-
@AlexFarber 实际上几乎在您分发独立 exe 的任何时候,通常都会这样做,静态链接更安全。由于安装的权限问题,有时首选独立 exe。 (例如chiark.greenend.org.uk/~sgtatham/putty/download.html -- 方便,winscp、vnc 和其他酷的 windows 工具也一样)
标签: c++ visual-studio microsoft-runtime-library