【发布时间】:2021-06-29 23:19:36
【问题描述】:
在使用 C++ 进行开发时,开发人员经常使用 Visual Studio 进行 Windows 开发。在设置 VS IDE 时,Microsoft 提供了一组可供下载的 C++ 可再发行组件,以便使用 Visual Studio。 C++ 可再发行组件包含 .dll 用于标准库,例如 <stdio>。我的问题是,为什么微软在网站上说这些可分发是“用于 Visual Studio”的。例如,是什么阻止了我,下载 C++ 可再发行组件并使用不同的 IDE,让我们假设 Geany 并在其他地方编辑源代码。我们只需要标准库的.dll,一旦获得它们,我们就可以在任何我们想要的地方编辑我们的源代码?
【问题讨论】:
-
当作为 DLL 链接时,可再发行组件包含运行时库的代码。它们与其说是“用于 Visual Studio”,不如说是用于随特定版本的 Microsoft 编译器分发的头文件。如果您想在其他地方编辑代码并使用该编译器,没有什么能阻止您,但除非您静态链接所有内容,否则您仍然需要可再发行组件来运行该编译程序。
-
哦,是的,您也可以考虑使用support.microsoft.com/en-us/topic/… aka Universal C Runtime。
-
VS2015 到 2019 中的 msvc 编译器相互二进制兼容,但与任何其他 msvc 版本不兼容。相关:https://docs.microsoft.com/en-us/cpp/porting/binary-compat-2015-2017?view=msvc-160 当涉及到基于 c++ 的二进制文件时,它们通常也与 mingw 不兼容。如果您坚持使用
c,则只有一些兼容性。
标签: c++ visual-studio visual-c++