在Visual Studio中使用任何C++编译器

原文发表时间: 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++开发体验。

原文地址:https://blogs.msdn.microsoft.com/c/2017/03/27/%E5%9C%A8visual-studio%E4%B8%AD%E4%BD%BF%E7%94%A8%E4%BB%BB%E4%BD%95c%E7%BC%96%E8%AF%91%E5%99%A8


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/326265.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2020蓝桥杯省赛---java---B---8(数字三角形)

题目描述 时间限制: 1.0s 内存限制: 512.0MB 本题总分:20 分【问题描述】上图给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。 对于每条路径,把路径上面的数加起来可以得到一个和,你的任务就是找到最 大的和。路径上的每一…

ASP.NET Core MVC 源码学习:Routing 路由

前言 最近打算抽时间看一下 ASP.NET Core MVC 的源码,特此把自己学习到的内容记录下来,也算是做个笔记吧。 路由作为 MVC 的基本部分,所以在学习 MVC 的其他源码之前还是先学习一下路由系统,ASP.NET Core 的路由系统相对于以前的…

linux netfilter 过滤数据包,Netfilter-iptabes报文过滤框架(一)

什么是Netfilter/iptableNetfilter/iptables是Linux内核内置的报文过滤框架,程序可以通过该框架完成报文过滤、地址转换(NAT)以及连接跟踪等功能。Netfilter/iptables由两部分组成,一部分是Netfilter的"钩子(hook)",这些"钩子…

AI项目十九:YOLOV8实现目标追踪

若该文为原创文章,转载请注明原文出处。 主要是学习一下实现目标追踪的原理,并测试一下效果。 目的是通过YOLOV8实现人员检测,并实现人员追踪,没个人员给分配一个ID,实现追踪的效果。 也可以统计人数。在小区办公楼…

2020蓝桥杯省赛---java---B---7(单词分析)

题目描述 【问题描述】 小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组 成,有些单词很长,远远超过正常英文单词的长度。小蓝学了很长时间也记不 住一些单词,他准备不再完全记忆这些单词,而是根据单…

Dapper源码学习和源码修改(下篇)

继上篇Dapper源码学习和源码修改 讲了下自己学习Dapper的心得之后,下篇也随之而来,上篇主要讲的入参解析那下篇自然主打出参映射了。 好了,废话不多说,开始吧。 学习之前你的先学习怎么使用Dapper,这个我在上篇都提过…

2020蓝桥杯省赛---java---B---6(成绩分析)

题目描述 时间限制: 1.0s 内存限制: 512.0MB 本题总分:15 分【问题描述】 小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是 一个 0 到 100 的整数。请计算这次考试的最高分、最低分和平均分。【输入格式】 输入的第一行包…

2020蓝桥杯省赛---java---B---5(排序)

题目描述 思路分析 01231391,而01231314105。 让下标为j的字符提到最前,正好达到100次交换,这样也满足了最小字典序,也可以验证一下。 代码实现 package TEST;public class Main {public static void main(String[] args) {St…

ASP.NET Core MVC 源码学习:MVC 启动流程详解

前言 在 上一篇 文章中,我们学习了 ASP.NET Core MVC 的路由模块,那么在本篇文章中,主要是对 ASP.NET Core MVC 启动流程的一个学习。 ASP.NET Core 是新一代的 ASP.NET 应用程序,它是跨平台的,并且不依赖于 IIS&…

2020蓝桥杯省赛---java---B---9(子串分值和)

题目描述 时间限制: 3.0s 内存限制: 512.0MB 本题总分:25 分【问题描述】 对于一个字符串 S,我们定义 S 的分值 f(S) 为 S 中出现的不同的字符个 数。例如 f(”aba”) 2,f(”abc”) 3, f(”aaa”) 1。 现在给定一个字符串 S[0…n−1]&…

GitHub 贡献第一的微软开源软件列表

作者|木环 编辑|小智 在GitHub上贡献最多的公司,不是Facebook,也不是Google,而是微软。InfoQ对微软数个较受社区欢迎的项目进行了整理,以飨读者。希望开源的精神,能给技术社区带来更多的实惠&am…

android 画布控件,Android canvas画图操作之切割画布实现方法(clipRect)

本文实例讲述了Android canvas画图操作之切割画布实现方法。分享给大家供大家参考,具体如下:android切割画布的历程不算很难,可是理解起来也比较麻烦,这里写一下我的理解 但是不一定正确:canvas.clipRect(30,30,70,Reg…

老司机实战Windows Server Docker:5 Windows Server Dockerfile葵花宝典

前面两篇(简单运维1、简单运维2)介绍了一些Windows Server Docker相关的基本运维知识。今天这一篇,Windows Server Dockerfile葵花宝典,涵盖了许多典型场景的Windows Server下的Dockerfile实例,并且每一个都包含可直接…

2020蓝桥杯省赛---java---B---2(寻找 2020)+测试txt

题目描述 text 0020000002202020002220002022002222202022020200022200020200222022002202202020020022200202000000002200222002022220222202220000222202200200202220200222200222202200000220220020202200022002200200200222000202220202002000000202200200220022020002022…

新起点!新征程!

好久没有更新公众号了,其一是因为最近这段时间有点“忙”(迫于其他原因,目前包括本公众号一共运营4个公众号,精力不充沛),其次就是犯了懒病不想动。其中博客中也没有更新比较有质量的博文了。感觉自己堕落颓…

2020蓝桥杯省赛---java---B---3(蛇形填数)

题目描述 思路分析 找规律 看对角线 1481216 代码实现 package TEST;public class Main {public static void main(String[] args) {int res 1, t 4;for(int i2; i<20; i) {res t;t 4;//1481216}System.out.println(res); //761}}答案 761

linux微信公众号报警,zabbix报警媒介,微信报警,邮件报警

微信报警首先要申请微信企业公众号&#xff0c;创建相应应用&#xff0c;然后进行配置微信企业公众号申请&#xff0c;目前可免费前往该地址进行申请注册过程很简单&#xff0c;不信你试然后进行企业公众号的基础设置服务端报警微信脚本[rootbogon alertscripts]# pwd/usr/loca…

编写高效率的C#代码

周末空闲&#xff0c;选读了一下一本很不错的C#语言使用的书&#xff0c;特此记载下便于对项目代码进行重构和优化时查看。 Standing On Shoulders of Giants&#xff0c;附上思维导图&#xff0c;其中标记的颜色越深表示在实际中的实际意义越大。 名称内容和示例提供API时尽量…

2020蓝桥杯省赛---java---B---1(门牌制作)

题目描述 代码实现 package TEST;public class Main {public static void main(String[] args) {int sum0;for (int i 0; i < 2020; i) {int tempi;while (temp>0){if(temp%102){sum;}temp/10;}}System.out.println(sum);} }答案 624

使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件

转载自 使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件 Mybatis属于半自动ORM&#xff0c;在使用这个框架中&#xff0c;工作量最大的就是书写Mapping的映射文件&#xff0c;由于手动书写很容易出错&#xff0c;我们可以利用Mybatis-Generator来帮我们自动生成文…