第二章 环境配置

前言

虽然C++是语法,是抽象的东西。但落实到实际操作,还需要对编译器如何使用一番研究,如何实际的开始编写C++程序。

1.种类

反复说到C++是定义的规则,而编译器是按C++的语法编译出对应的程序。所以谁都可以制造一个编译器,只要满足规则即可,不过这种活应该没人喜欢干。 比如MSVC和GCC,前者是微软开发的C/C++编译器,后者在一些轻量化的编译器中常见。

2.使用MSVC

原因如下:

1.大家的操作系统一般是Windows,比较方便操作。

2.MSVC确实很强,使用的人多,bug肯定也少。

3.我没用过其他编译器……

不过千万不要用VC++ 6.0,这已经是1998年的软件了。直接安装最新版本的Visual Studio 2019,微软有提供免费的社区版。不过貌似需要注册账号,才能免费使用,很多时候不fanqiang就没有下载速度,可能会注册不上,所以我一般直接下企业版的,VS对密钥的要求并不高,直接网上搜索复制一个也能用(不过此处的说法我还是使用的vs2015,不过我强烈建议去研究下怎么安装VS2019,肯定不难)。

VS不仅包含了C++编译器的部分,还有其他C#、.net等内容,在安装的时候如果不知道如何筛选,可以直接全部安装。

3.创建新项目

首先需要新建一个项目,在左上角点击【文件】->【新建】->【项目】,这里需要选择win32控制台程序:

记得勾选上空项目即可:

点击完成后,就会创建一个新项目。VS会创建一个解决方案Test0123,然后在解决方案里创建了一个项目Test0123,然后再添加一个.cpp源文件来输入代码:

为了方便理解整个项目的文件构成,可以如下操作,打开项目文件夹:

可以看到这一级目录包含这几个文件,其中源.cpp是我们添加的源文件,Test0123.vcxproj是项目文件。往上一级文件目录,可以看到还有一个Test0123.sln文件,没错!sln文件就是解决方案文件。所以一个项目的结构如下:

一个解决方案包含N个项目,而一个项目包含多个代码文件或者资源文件。

接下来复制代码到源.cpp,再点击上方的绿色播放按钮进行调试,就可运行程序并可以看到输出了“Hello World!”文本:

#include <iostream>
using namespace std;int main()
{cout << "Hello World!";//等待用户输入,防止程序一闪而过int a;cin >> a;return 0;
}

这时我们还是可以在文件夹里看看具体生成了哪些文件,在VS中我们可以用$(SolutionDir)代表解决方案目录,有如下文件:

$(SolutionDir)\Test0123\Debug\源.obj

此文件被称为目标文件,由源文件编译而成,已成为了机器码。一般来说,如果我们还有其他代码文件,就会每个文件生成一个.obj,不过它们并不能直接执行。编译器将所有目标文件和资源文件进行链接(link),从而生成可执行的exe文件。在windows平台可执行文件是exe格式,不过在IOS系统上可执行文件格式是.ipa。

而编译器生成的exe文件在这个路径$(SolutionDir)\Debug\Test0123.exe,你可以找一下并双击执行,也可以拷贝到其他地方,单独运行了。并不需要从vs里才能打开,这是很多初学者并未理解的事情。不过要是你写了某个程序,要发给某个妹子炫耀,这里的exe还暂时只能在自己电脑上执行,至于为何和运行库的版本有关,后面再详细解释。

4.再理编译过程

此时我们可以再理解一下主要的编译流程。首先程序员编写代码形成源代码,接着编译器通过预处理器处理代码实现一些文件包含、平台、调试版本等功能,再通过编译将源代码转化为汇编代码,再转化为二进制目标文件,再通过链接器形成最终的可执行文件

5.个性化

第一次进入vs时,会选择配色,我一般用浅色,这个看个人爱好,不过深色的背景对眼睛不一定好,我会再修改为绿豆沙色,就像下面这样(在【工具】->【选项】):

绿豆沙色的颜色代码如下:

同时可以修改字体与大小,这样更加个性化。在VS里行号和自动换行并没有默认开启,也可以如下开启:

6.常用其他工具

对于我来说,离不开的两个工具是TortoiseSVN和VAssistX,前者用于代码版本控制,还可以远程同步文件,以及比较代码文件的差异。后者主要用于代码高亮和一些快捷操作。

TortoiseSVN可以在官网下载,并下载语言包汉化,比较简单。

VAssistX是收费软件,可以找学习版并支持VS2019的下载。

然后Notepad++也是非常好用的文本编辑软件,以上三个软件都很小巧,但功能强大。

结语

配置开发环境是重要的一环,是实践的第一步操作,往往比较枯燥和麻烦,容易被新手所忽略,从而弃坑。其实花一天半天进行环境配置之后,以后就不用再这么麻烦了,这只是第一步操作。

【C++教程】02.环境配置相关推荐

  1. 手把手教你用yolov3模型实现目标检测教程(一) - 环境配置

    手把手教你用yolov3模型实现目标检测(一) 写在前面: 由于项目需要,使用yolov3模型做了各种现实场景物体的目标检测.做完了过了好长时间,感觉有些遗忘,还是该留下点东西,方便自己查找,也希望能 ...

  2. duilib入门简明教程 -- VS环境配置(2) (转)

    原文转自:http://www.cnblogs.com/Alberl/p/3342030.html     既然是入门教程,那当然得基础点,因为搜索duilib相关资料时,发现有些小伙伴到处都是编译错 ...

  3. win10系统下JAVA之JDK压缩包制作方法及安装教程(环境配置)

    win10系统下JAVA之JDK压缩包制作方法及安装教程 有时进行JAVA开发,我们可能会用到不同版本的JDK,每次切换不同版本时,总不能删除之前的,重新下载一个新版本,所以通过压缩包免安装方式进行多 ...

  4. dcmtk医学图像处理教程(一)环境配置VS2019+dcmtk3.6.6

    开发环境: 文章目录 0 前言 为什么使用visual studio? 如何安装? 其他一些可参考资料,实在觉得本文无法满足需求,可以查看 1 下载dcmtk源代码 1.2 下载文件时不同参数的比较 ...

  5. 超适合新手使用的教程:Python环境配置+Pycharm安装+扩展包安装(以Numpy+mkl为例)

    目录 一.Python环境配置 1.Python下载 2.python安装 3.Python验证安装 二.Pycharm环境配置 1.pycharm下载 2.pycharm配置python 3.pyc ...

  6. java环境教程_java环境配置的详细教程(图文)

    本篇文章给大家带来的内容是关于java环境配置的详细教程(图文),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. JAVA环境变量的配置:Path,JAVA_HOME,CLASSPAT ...

  7. java系统教程_Java 教程(开发环境配置+基础语法)

    Java 开发环境配置 在本章节中我们将为大家介绍如何搭建Java开发环境. window系统安装java 下载JDK 首先我们需要下载java开发工具包JDK,下载地址:http://www.ora ...

  8. PyCharm社区版安装教程和环境配置及使用

    一.PyCharm官网下载 访问官网地址:https://www.jetbrains.com/pycharm/ 点击首页[Download]按钮,进入下载页面,选择Community下的[Downlo ...

  9. 【CPLEX教程02】配置Cplex的Java环境以及API说明

    00 前言 因为小编一般用的C++和Java比较多,而且现在开发大型算法用这类面向对象的编程语言也方便得多.基于上面的种种考虑,加上时间和精力有限,所以就暂时只做C++和Java的详细教程辣.关于ma ...

最新文章

  1. Linux 忘记密码如何登陆—续篇2救援模式
  2. mybatis处理查询map列表属性为null的问题,而导致查询map无该key对象
  3. qt tcp通信_Qt之网络编程TCP通信
  4. java lambda使用_使用Java 8和Lambda简化ReadWriteLock
  5. java mongodb 插入数据_mongoDB 插入数据 用java实现
  6. P1428 小鱼比可爱(python3实现)
  7. maven编译报错 错误: -source 1.5 中不支持 lambda 表达式
  8. Apache Spark技术实战之1 -- KafkaWordCount
  9. Crontab 实例
  10. 通过银行卡号获取银行名称
  11. Java数组对象排序
  12. AI企航58自动发帖软件图片视频教程
  13. 计算机电源认证,80plus认证级别含义扫盲
  14. 为什么公交Wi-Fi还不如地铁上普及?
  15. 一篇文章,教你学会Git
  16. 游戏编辑器制作(6)
  17. 学习记录-- 用 Latex 修改文字/段落颜色 用于回复审稿意见。
  18. PS软件操作应用—文字特效
  19. 计算机监控系统改造,李家峡水电站计算机监控系统改造
  20. 【dotnet跨平台】微软昨天宣布正式发布.NET Core RC2和.NET Core SDK Preview 1,还有Entity Framework Core RC2

热门文章

  1. 什么是matlab中的fints函数,Matlab基本函数
  2. 4g能用吗64java_java – 用于4G内存的JBoss 7内存配置,64位
  3. java进阶之路学习笔记
  4. 北京内推 | 华为高斯实验室招聘AI算法工程师/实习生
  5. 将“softmax+交叉熵”推广到多标签分类问题
  6. ACL 2018论文解读 | 基于路径的实体图关系抽取模型
  7. 细水长flow之NICE:流模型的基本概念与实现
  8. AIProCon在线大会笔记之清华大学唐杰教授:人工智能的下一个十年
  9. ZOJ3785 What day is that day? 快速幂+找规律
  10. 第一次安装Intellij IDEA过程中遇到的坑