C++入门(3):C++开发环境搭建
本文首发 | 公众号:lunvey
既然开始学C++,电脑上应该具备它的开发环境。
而C++历史,lunvey老师觉得:初学者有兴趣可以自行了解一下,不是必要的。
大家都在用最新款的苹果手机,好用就行,又有多少人知道苹果手机的历代版本呢?
同理,工欲善其事,必先利其器。先搭建好C++开发环境,初窥一下它的魅力吧!
市面上主流都在讲VC++6.0,Win7系统之类的,lunvey老师尝试过,觉得真的毫无必要。
老一辈的C++工程师和历史遗留项目还在用基于C++98标准,也就是基于VC++6.0开发。
初学者本来就是一片空白,并不需要维护老旧项目,建议从新的开始学的标准开始学,遇到老旧项目做兼容方案处理就行。
那么我们怎么搭建我们的C++学习环境呢?
操作系统选择

Win10从2015年发布,至今已有七年历史了。技术在历次更新迭代中,这个版本早已稳定成熟,可以作为学习、办公、生产环境使用。
Win7 淘汰很多年,由于微软停止支持,市面上部分软件厂商已经不针对Win7 进行迭代支持,会发现一些兼容性错误,安装报错等情况。
同时,程序员本来就是互联网的前沿人员,如果还用着过时的技术,岂不是代表了禁锢了自己的思维。
集成开发环境选择
lunvey老师不推荐新手用记事本编辑代码,控制台GCC编程编译、运行或者调试。
费时费力不说,我们学习的目的是上岗,进入生产环境,如果知道未来会用什么,何不从现在开始习惯它呢?
而上述过程,可以在一个软件里完成,这就叫集成开发环境(简称IDE)。
每个编程语言都有对应的IDE,市面上大部分桌面环境是基于Windows的,而微软因此推出了Visual Studio系列软件用于C++开发。
而C++最核心的能力就是操作底层,微软因此在Visual Studio里面集成了Windows编程API,可以调用操作系统的命令。
同时自带了UI库,毕竟一款像样的软件,我们的认知都是看得见,可以直接通过鼠标键盘操作,而不是DOS系统下,黑白屏幕,纯代码操作。
所以开发C++在Windows下的客户端程序,从生产环境而言,首选Visual Studio作为IDE,它非常强大!
当然也有其他软件可以选择,根据个人喜好。
这里给出一个主流选择:Clion、QT Creator、Code::Blocks
安装Visual Studio Community 2019
作为学习,我们使用微软官方提供的社区版即可,功能虽然不及企业版,但是学习阶段足矣,最重要的是不仅免费,还能和企业版无缝对接。
Visual Studo最新版本是2019,学习环境遵循“喜新厌旧”的原则,后续教程lunvey老师也会一直使用它。
官方分为脱机下载和在线安装,首选在线安装,通过一个安装器就能完成安装,简单省事,初学者没必要“自找麻烦”。

可以看见,MFC在新版本里已经不会默认安装,这说明随着时代发展,C++应用一直在前进,我们选择新版本学也是为了适应现代化开发。

至此,C++开发环境已经搭建完成。
C++入门(3):C++开发环境搭建的更多相关文章
- React Native入门教程 1 -- 开发环境搭建
有人问我为啥很久不更新博客..我只能说在学校宿舍真的没有学习的环境..基本上在宿舍里面很颓废..不过要毕业找工作了,我要渐渐把这个心态调整过来,就从react-native第一篇博客开始.话说RN也出 ...
- Unix/Linux环境C编程入门教程(13) 开发环境搭建VMware软件安装
VMware(中文名威睿",纽约证券交易所"代码:VMW) 虚拟机软件,是全球桌面到数据中心虚拟化解决方案的领导厂商.全球不同规模的客户依靠VMware来降低成本和运营费用.确保业 ...
- phonegap入门–1 Android 开发环境搭建
一.JDK 安装JDK,安装包中包含了JDK和JRE两部分,建议将它们安装在同一个盘符下面. 配置环境变量: 1.右键点击我的电脑,选择属性,点击高级选项卡,选择环境变量. 2.找到Path变量名(无 ...
- Unix/Linux环境C编程入门教程(11) 开发环境搭建VMWare虚拟安装之虚拟化检测
常开启虚拟化技术.如果你的主板是最新的,它在冷启动后能够检测到配置变化.每当我改变我的主板上的VT设置,它都会自动推迟下次重新启动生效.如何确定VT已经开启或禁用? 如图表示成功开启了VT. F10 ...
- JBPM4入门——3.JBPM4开发环境的搭建
本博文只是简要对JBPM4进行介绍,如需更详细内容请自行google 链接: JBPM入门系列文章: JBPM4入门——1.jbpm简要介绍 JBPM4入门——2.在eclipse中安装绘制jbpm流 ...
- Android菜鸟的成长笔记(1)——Android开发环境搭建从入门到精通
原文:Android菜鸟的成长笔记(1)--Android开发环境搭建从入门到精通 今天在博客中看到好多Android的初学者对Android的开发环境的搭建不熟悉而导致不能进行学习,所以我决定自己写 ...
- Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例【附详细代码】
http://blog.csdn.net/xiefu5hh/article/details/51707529 Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例[附 ...
- 【JAVA零基础入门系列】Day1 开发环境搭建
[JAVA零基础入门系列](已完结)导航目录 Day1 开发环境搭建 Day2 Java集成开发环境IDEA Day3 Java基本数据类型 Day4 变量与常量 Day5 Java中的运算符 Day ...
- arcgis api for flex 开发入门(一)环境搭建
http://www.cnblogs.com/wenjl520/archive/2009/06/02/1494514.html arcgis api for flex 开发入门(一)环境搭建arcgi ...
- 《Node.js入门》CentOS 6.5下Node.js Web开发环境搭建笔记
近期想尝试一下英特尔的基于WebRTC协同通信开发套件,所以须要在本地搭建Node.js Web的开发測试环境. 这里讲的是CentOS 下的搭建方法.使用Windows的小伙伴请參考: <No ...
随机推荐
- Codeforces 1355 D. Game With Array
传送门:D - Game With Array 题意:让你构造一个长度为n的序列,并且n个数的和为S,问能不能找到一个1~n的数k,使得数组里找不出一个子序列的和为k或者n-k: 题解:最简单的想法肯 ...
- AtCoder Beginner Contest 181 E - Transformable Teacher (贪心,二分)
题意:有一长度为奇数\(n\)的数组\(a\),和长度为\(m\)的数组\(b\),现要求从\(b\)中选择一个数放到\(a\)中,并将\(a\)分成\((n+1)/2\)个数对,求最小的所有数对差的 ...
- Strongly connected HDU - 4635 原图中在保证它不是强连通图最多添加几条边
1 //题意: 2 //给你一个有向图,如果这个图是一个强连通图那就直接输出-1 3 //否则,你就要找出来你最多能添加多少条边,在保证添加边之后的图依然不是一个强连通图的前提下 4 //然后输出你最 ...
- 行业动态 | 腾讯合作商Babylon使用Cassandra保护患者数据并提高医疗效果
医疗世界正在快速朝向个性化和低成本的方向发展,Babylon Health看到了这样的机会--通过开创性的云端应用来大幅扩张和改进他们所提供的服务. 通过使用基于Apache Cassandra的 ...
- 多线程(一)java并发编程基础知识
线程的应用 如何应用多线程 在 Java 中,有多种方式来实现多线程.继承 Thread 类.实现 Runnable 接口.使用 ExecutorService.Callable.Future 实现带 ...
- vue 单文件组件最佳实践
vue 单文件组件最佳实践 生命周期 template <template> <section> <h1>vue single file components te ...
- document.getElementById & document.querySelector
document.getElementById & document.querySelector https://developer.mozilla.org/en-US/docs/Web/AP ...
- flutter & dart & vs code & bug
flutter & dart & vs code & bug Waiting for another flutter command to release the startu ...
- taro & Error: spawn taro ENOENT
taro & Error: spawn taro ENOENT https://stackoverflow.com/questions/27688804/how-do-i-debug-erro ...
- node初体验(一)
1.node.js是一个构建在chrome V8引擎上的javascript运行环境 2.node.js特点:单线程.事件驱动.非阻塞IO模型.轻量 3.node.js是单线程的(多个请求都是一个线程 ...