一、编程工具大揭秘——IDE
当我们准备踏入 C++ 编程的奇妙世界时,首先要认识一个重要的“魔法盒子”——集成开发环境(IDE)。IDE 就像是一个全能的编程工作室,它把我们写代码所需要的各种工具都整合到了一起,让编程这件事变得更加方便、高效。
一般来说,一个 IDE 主要包括以下几个关键部分:
- 代码编辑器:这是我们编写代码的地方,就像是作家的书桌。它有很多厉害的功能,比如语法高亮。当我们写 C++ 代码时,它会把关键字(像
int
、if
、else
等)用一种颜色显示,把字符串常量(例如"Hello, World!"
)用另一种颜色显示,这样我们一眼就能看出代码的结构,就像给不同的文字标上了不同颜色的记号笔,让我们的“文章”(代码)条理清晰。还有自动补全功能,当我们输入一部分代码,比如输入#inc
,它就能猜出我们要写#include
,然后帮我们自动补全,就像输入法能自动补全我们常写的词语一样,大大提高了我们写代码的速度。 - 编译器:编译器可是个神奇的“翻译官”。我们用 C++ 写的代码,计算机是看不懂的,编译器的作用就是把我们写的 C++ 代码翻译成计算机能理解的机器语言。它会仔细检查我们的代码有没有语法错误,如果有错误,就会像老师批改作业一样,把错误的地方标出来,让我们修改。只有当代码通过了编译器的“语法考试”,才能被翻译成机器语言,这样计算机才能按照我们写的代码去做事情。
- 调试器:这是我们抓代码“小虫子”(错误)的好帮手。当我们的程序运行结果不对时,调试器就派上用场了。它可以让程序一步一步地慢慢运行,我们可以在这个过程中查看变量的值,看看是不是和我们预期的一样。比如说,我们写了一个计算两个数相加的程序,但是结果不对,通过调试器,我们可以看看是不是在赋值或者计算的过程中出现了问题,就像给程序做一个“体检”,找出哪里出了毛病。
二、走进 Visual Studio(VS)的世界
VS 是微软(Microsoft)公司开发的一款非常强大的 IDE,在 Windows 平台上被广泛使用。它就像是编程世界里的一座宏伟的“宫殿”,里面有各种各样的“房间”(功能)供我们探索。
VS 有社区版和专业版:
- 社区版:对于初学者来说,这是一个很棒的选择,因为它是免费的。社区版提供了基本的 C++ 编程功能,包括代码编辑、编译和调试等,让我们可以轻松地开始学习 C++ 编程,就像给我们提供了一个简单但实用的“小木屋”,虽然没有“宫殿”那么豪华,但足够我们开始探索编程的奥秘。
- 专业版:这个版本就更加厉害了,它有很多高级的功能。比如更强大的调试工具,可以让我们更深入地查找程序中的错误;还有团队协作功能,如果我们和其他小伙伴一起开发一个大型项目,就可以用这个功能方便地进行代码管理和沟通,就像给专业的编程团队提供了一个装备精良的“城堡”,满足他们在复杂项目开发中的各种需求。
VS 使用的编译器是 MSVC(Microsoft Visual C++ Compiler),它和 VS 配合得非常默契,能够很好地把我们写的 C++ 代码翻译成高效的机器语言,就像一对配合娴熟的舞者,在编程的舞台上展现出精彩的“表演”(编译出优质的可执行文件)。
下载VS:https://visualstudio.microsoft.com/zh-hans/vs/
安装方法不再赘述:https://blog.csdn.net/Javachichi/article/details/131358012
三、创建我们的第一个项目
打开 VS 后,我们就像走进了一个充满无限可能的编程天地。在这里,我们要创建一个项目,项目就像是一个装满了各种编程宝贝的“魔法盒子”,把我们写的代码、配置信息等都装在里面。
VS 中有很多项目类型,比如控制台应用程序、Windows 桌面应用程序、MFC(Microsoft Foundation Classes)应用程序、QT 应用程序等。这里我们先选择 C++ 控制台项目,那什么是控制台呢?控制台就像是一个和计算机“对话”的窗口,我们可以在这个窗口里输入一些信息,计算机也可以在这个窗口里给我们输出一些结果。比如说,我们写一个简单的加法程序,在控制台里输入两个要相加的数,计算机就会在这个窗口里把结果显示出来,就像我们和计算机在这个小小的“对话框”里聊天一样。
当我们选择创建 C++ 控制台项目时,其实 VS 已经在后台帮我们做了一些基本的配置,这些配置就像是给我们的“魔法盒子”准备好了一些初始的“魔法道具”。但如果我们以后要开发 GUI(Graphical User Interface,图形用户界面)应用程序,比如像我们平时使用的软件那样有漂亮的窗口、按钮等,我们可能就会选择 MFC 或者 QT 项目类型,这时候 VS 会在空项目的基础上配置更多的东西,就像给我们的“魔法盒子”添加更多更高级的“魔法道具”,让我们能够创造出更加丰富多彩的程序。
四、深入了解项目配置
一个项目就像一个小小的编程王国,而项目配置就是这个王国的“规章制度”。在 VS 中,我们可以对项目进行各种配置,让它更符合我们的需求。
比如输出目录,这就像是我们王国的“宝藏仓库”,我们可以指定编译后生成的文件(比如可执行文件)存放在哪里。我们可以创建一个专门的文件夹,然后把输出目录设置为这个文件夹的路径,这样我们就能很容易地找到编译好的文件,就像把宝藏都放在一个特定的仓库里,方便我们随时取用。
工作目录呢,就像是我们在王国里工作的“办公室”,当程序运行时,如果它要读取一些文件,就会默认在这个工作目录下去找。比如说我们的程序要读取一个配置文件,只要把这个配置文件放在工作目录下,程序就能顺利地找到它,就像我们在办公室里找文件一样,知道去哪里找自己需要的东西。
还有其他配置,比如是否开启编译器优化,C++版本等等。
VS 是通过一些特殊的文件来实现项目配置的,比如.sln 文件和.vcxproj 文件。.sln 文件就像是我们编程王国的“总地图”,它管理着整个项目或者多个项目之间的关系。如果我们的项目比较大,可能会有多个部分,每个部分都是一个独立的项目,这时候.sln 文件就能把它们都管理起来,让我们可以方便地在不同项目之间切换和协调,就像拿着总地图在一个大城堡里穿梭不同的房间一样。.vcxproj 文件则是单个项目的“详细说明书”,它里面记录了源文件和头文件的路径、编译器选项、链接器选项等各种详细信息。当 VS 编译我们的项目时,就会按照这个“说明书”上的指示去做,就像建筑工人按照建筑图纸来盖房子一样,确保项目能够正确地编译和运行。我们在进行项目配置时实际上就是在修改这两个文件。
.sln中文称为解决方案,一个解决方案可以包含多个项目,后面的文章会讲到如何在一个解决方案种添加多个项目。
五、项目的多种配置模式
在一个项目中,我们可以设置多种不同的配置,就像给我们的编程王国准备不同的“装扮”。一般来说,最常用的是 debug 和 release 两种配置。
debug 模式就像是给程序戴上了一个“放大镜”,它会生成包含很多调试信息的可执行文件。这些调试信息就像是在程序的各个关键地方都安装了“摄像头”,让我们可以在程序运行的时候查看变量的值、跟踪程序的执行流程。比如说我们写了一个计算数学题的程序,但是结果不对,在 debug 模式下,我们可以一步一步地看程序是怎么计算的,看看是不是在某个地方算错了,就像用放大镜仔细检查一个精密仪器的内部结构,找出哪里出了问题。
release 模式则像是给程序穿上了一双“跑鞋”,它的目标是让程序跑得更快。在这个模式下,编译器会对代码进行各种优化,去掉一些不必要的东西,让程序的运行效率更高。生成的可执行文件会更小、运行速度更快,就像一辆经过改装的赛车,去掉了多余的重量,调整到最佳的性能状态,全力冲刺。但是因为它主要关注速度,所以不会包含 debug 模式下的那些调试信息,所以如果程序出了问题,在 release 模式下就不太容易找到错误原因。
除了 debug 和 release 模式,还有位数的配置,比如 x86 和 x64。x86 是指 32 位的程序,x64 是指 64 位的程序。简单来说,64 位的程序可以使用更多的内存,对于一些大型的程序或者需要处理大量数据的程序来说,64 位可能会更合适;而 32 位的程序在一些旧的系统或者对内存需求不大的情况下也有它的优势。当我们把 debug 和 release 模式与位数配置结合起来,实际上就有了 4 种配置,分别是 debug x86、debug x64、release x86 和 release x64。我们还可以根据自己的需求新建一组配置,就像给我们的编程王国定制一种新的“装扮风格”,让项目更符合我们的特殊要求。
实操环节
上面这个黑框就是控制台
点击创建,项目就创建好了,可以看到有一个main.cpp的文件。
然后我们把窗口关掉,学习如何打开一个项目。
直接双击.sln文件就能打开解决方案。
也可以像下面这样:
选择sln文件打开即可
多种配置,表示目前正在使用debug x86的配置,推荐把x86改为x64.
这个可以新增配置:
目前初学,不用新增,这几种配置够用的。
下面来看每种配置的详细配置,通过属性管理器查看。
可以看到这个项目有四种配置。
右键属性,即可查看配置。
可修改的配置非常多,可以自行研究下,他们的作用。
如果要修改C++版本,修改这里即可。
生成,是指生成目标文件,比如exe,清理是指删除生成的目标文件。
调试执行生成的文件,如果点击后,VS检测到没生成,那么就先自动生成,再调试执行。调试执行就是遇到断点会停下。
看看这个文章:https://blog.csdn.net/weixin_45100742/article/details/135152562
也可以忽略所有断点直接运行,开始执行不调试。
我们也可以这样运行,找到这个生成的exe文件,直接运行他。