Ask Learn
Preview
Ask Learn is an AI assistant that can answer questions, clarify concepts, and define terms using trusted Microsoft documentation.
Please sign in to use Ask Learn.
Sign inThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
原文发表时间: 3/07/2017
原文发表地址: Use any C++ Compiler with Visual Studio
微软Visual Studio 2017支持几种C++编译器以适应各种各样的代码库。除了很多人熟悉的微软Visual C++编译器外, Visual Studio2017还支持Clang, GCC以及其他针对某些平台的编辑器。
这篇文章旨在令您熟悉各种与Visual Studio IDE兼容的C++编译器,并且使您清楚什么情况下能适用于您的项目。一些编译器能更好的适应您的需要,这些具体取决于您的项目或者所针对的情况。或者,您可能更有兴趣去了解新的语言功能,比如在不需要离开IDE的情况下,在所有编译器上都不可用的C++概念。
您可以在对C++ 项目的常规配置属性里,选择编译器和使用相应的”平台工具集“属性的工具集来生成项目。在”平台工具集”的下拉列表中会列出所有已安装的适用于您的项目类型的编译器。
微软C++编译器(MSVC)
如果您针对的是Windows系统, 微软C++编译器(MSVC)或许是一个好的选择。这是大多数Visual Studio C++项目的默认编译器。所以如果针对的是Windows,推荐使用这个。
Clang
针对安卓,iOS, 和windows系统, 您可以使用Visual Studio的Clang编译器。
如果您针对的是安卓系统,您可以使用带有Andriod NDK和工具链的Clang/LLVM编译器来生成您的项目。同样的,针对iOS系统, Visual Studio可以在Mac上使用Clang来运行生成项目。”C++的移动开发“工作负载中包含对Andriod 和iOS的支持。您可以在标有关键字”安卓“和”iOS“的文章里查阅更多有关于安卓和iOS的详细信息。
如果您针对的是Windows系统,您有如下几个选项:
1. 使用Clang/LLVM; “Windows的Clang”包含了在Visual Studio中安装Clang/LLVM平台工具集的说明。
2. 针对Windows使用Clang的Clang/C2(Clang前端的微软代码生成)。
如果你想利用Clang在Windows平台的语言功能引入一个代码库,使用Clang/C2可能是有意义的。由于代码生成和优化处理是由MSVC后端处理的,由Clang/C2生成的二进制文件是完全符合由MSVC生成的二进制文件。您可以从微软代码生成的Clang —或者查阅我们最近更新的带有关键字”clang“的文章来了解更多关于Clang/C2的信息
GCC
如果您针对的是Linux或者安卓系统,您可以考虑使用GCC。如同Clang一样, Visual Studio的C++安卓开发也支持使用带有安卓NDK的GCC来生成项目。对于Linux — 无论是远程或本地的Linux Windows子系统, 都可以使用GCC.
如果您想了解更多的如何使用Visual Studio中的针对Linux的GCC, 请查阅我们在Visual C++的Linux开发上发布的文章。如果您对针对本地的WSL特别感兴趣,请查阅Visual Studio的WSL。
Closing
Visual Studio 也使用了爱迪生设计组(EDG)前端,无论您使用的是MSVC, Clang或者GCC来生成您的代码, 都可以为您提供灵活的智能感知。在C++编译器上, Visual Studio给您提供了广泛的选择。通过这种方式,您可以确保在开发代码时,将继续对所有主要编译器进行编译。
现在安装Visual Studio试一试吧。 请让我们知道是否我们错过了你使用的任何编译器。同时可以分享您的反馈,我们期待着提升您的C++开发体验。
Ask Learn is an AI assistant that can answer questions, clarify concepts, and define terms using trusted Microsoft documentation.
Please sign in to use Ask Learn.
Sign in