《转》Visual Studio 2015的安装与基本使用(社区版)

摘要:
最重要的社区版本是免费的!因此,您不需要使用破解的旧VC++6.0、CometoVS2015和joyit,这与现代系统不兼容!获取Visual Studio 2015,进入Visual Studio官方网站,点击“下载Visual Studio社区”。“启动Visual Studio”稍等片刻,您将看到以下界面:单击菜单:“文件”-“新建”-“项目”,将出现此窗口:选择左侧的“Visual C++”,选择右侧的“空项目”,填写“MyFristPromgram”作为项目名称,然后单击“确定”。“当您单击运行按钮或按F5时,程序会闪烁。VS2015错误是怎么回事?当然,在VS安全警告关闭后,scanf_s仍然可用。

https://www.cnblogs.com/wangzexi/p/4906640.html

为什么要使用Visual Studio 2015?

《转》Visual Studio 2015的安装与基本使用(社区版)第1张

它是中文的、界面友好、自动补全、实时语法错误提示(上图中波浪线部分)、单步调试……最重要的社区版是免费的!所以你不必再使用破解的老旧的不兼容现代系统的VC++6.0,Come to VS2015 and enjoy it!

接下来我将告诉你如何安装以及使用它编写、运行C/C++程序、以及调试的一些小技巧!

获得Visual Studio 2015

进入Visual Studio 官方网站,点击"下载Visual Studio社区"。

《转》Visual Studio 2015的安装与基本使用(社区版)第2张

如果一切正常,你会得到一个大小大约为3MB的应用程序(我假设你知道如何下载,并且知道如何找到下载的文件):

《转》Visual Studio 2015的安装与基本使用(社区版)第3张

双击它,稍等片刻,来到这个界面:

《转》Visual Studio 2015的安装与基本使用(社区版)第4张

不用修改安装目录,选择"自定义",点击"下一步",来到这里:

《转》Visual Studio 2015的安装与基本使用(社区版)第5张

只选择"编程语言"下的"Visual C++",点击下一步,来到这里:

《转》Visual Studio 2015的安装与基本使用(社区版)第6张

核对一下,点击"安装",看到这个界面后:

《转》Visual Studio 2015的安装与基本使用(社区版)第7张

就可以点击"最小化"玩别的了,安装过程大约要一个小时,期间需要保持网络畅通。

《转》Visual Studio 2015的安装与基本使用(社区版)第8张

完成了!看到那个巨大的"启动"了吗?点!

在VS中建立一个C/C++程序项目

现在,我们就可以开启VS之旅了!

打开VS2015,它可能会让你登录:

《转》Visual Studio 2015的安装与基本使用(社区版)第9张

这里可以如果你愿意,可以登录,我这里选择"以后再说":

《转》Visual Studio 2015的安装与基本使用(社区版)第10张

这里的开发设置,我选择"Visual C++",颜色"深色"。

"启动Visual Studio"

稍等片刻,你就会看到这个界面:

《转》Visual Studio 2015的安装与基本使用(社区版)第11张

点击菜单:"文件"-"新建"-"项目",会出现这个窗口:

《转》Visual Studio 2015的安装与基本使用(社区版)第12张

选择左侧的"Visual C++"之后,选择右侧的"空项目",项目名称填写"MyFristCPromgram",点击"确定"。

之后,在左侧的"解决方案资源管理器"中,右键"头文件","添加","新建项"。(如果没有左侧的"解决方案资源管理器",可以点击菜单:"窗口"-"重置窗口布局")

《转》Visual Studio 2015的安装与基本使用(社区版)第13张

在弹出的窗口中,修改新项的名称为"main.cpp"。(图中误为".h"后缀,可能导致编译错误)

《转》Visual Studio 2015的安装与基本使用(社区版)第14张

现在就可以书写你的代码了:

《转》Visual Studio 2015的安装与基本使用(社区版)第15张

让我们向这个世界问好:

《转》Visual Studio 2015的安装与基本使用(社区版)第16张

点击工具栏上的那个三角形的绿色按钮("本地Windows调试器")来运行,或者更快捷的方式是直接按F5

《转》Visual Studio 2015的安装与基本使用(社区版)第17张

勾选"不再显示此对话框",点击""。

一闪而过!

"???!"

当你点击运行按钮或按F5后,程序一闪而过,怎么回事,VS2015的BUG?

并不是,我们看看这段程序,这段程序只有一行printf,没有任何别的语句,计算机瞬间就能执行完,执行完不就结束了吗,这就是一闪而过的原因。

但是我要看输出的文字啊,怎么让它在printf后停住呢?

很简单只需要使用 system("pause"); 命令即可,像这样:

《转》Visual Studio 2015的安装与基本使用(社区版)第18张

你会发现 system 被画了红色的波浪线,将鼠标移上去发现VS告诉我们这是一个未定义的标识符,因为system所在的库我们没有包含,我们加上这行include

《转》Visual Studio 2015的安装与基本使用(社区版)第19张

按下F5,现在,你就已经学会如何使用Visual Studio来编写和运行简单的C/C++程序了:

《转》Visual Studio 2015的安装与基本使用(社区版)第20张

补充

如果你不想为使用system("pause");包含一个库,也可以使用scanf函数来等待输入,从而暂停程序,或者你可以在最后一个花括号那行,设置一个断点,这种方法我们将会在之后详细讲解。

scanf不能用?!

《转》Visual Studio 2015的安装与基本使用(社区版)第21张

"VS的问题怎么这么多!连scanf都不能用?"

等等,请你先冷静下来。

点击""关闭这个信息框,让我们仔细看看输出的这条错误信息:

error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

VS告诉我们,这个函数可能不安全,应该考虑使用scanf_s来代替(到底哪里不安全,可阅读本章末尾的选读小节),或者定义_CRT_SECURE_NO_WARNINGS宏来屏蔽这个警告。

方法一:通过修改scanfscanf_s,便可以通过编译

《转》Visual Studio 2015的安装与基本使用(社区版)第22张

它看上去工作良好。

"我偏要用scanf!"

方法二:我们可以通过定义_CRT_SECURE_NO_WARNINGS宏来关闭VS的安全警告:

《转》Visual Studio 2015的安装与基本使用(社区版)第23张

这两种方法任选其一即可。当然,在关闭VS安全警告后,scanf_s仍然是可用的。

不安全的scanf(选读)

当使用scanf通过%s读入字符串的时候,很多初学者会忽略用户输入的字符串长度的问题,导致缓冲区溢出。观察下面这个程序:

《转》Visual Studio 2015的安装与基本使用(社区版)第24张

首先程序开辟了5个字节的空间来接受输入,但问题是,你并不知道用户会输入多少。

让我们运行起来这个程序,输入一个明显大于5个字符的文本,测试一下:

《转》Visual Studio 2015的安装与基本使用(社区版)第25张

"哈哈!什么事情都没有,你根本在吓唬我!"

别高兴的太早,按任意键结束这个程序:

《转》Visual Studio 2015的安装与基本使用(社区版)第26张

VS给我们提出了警告,告诉我们"str"这个变量的堆栈不正常,其实这就是之前我们提到的术语"缓冲区溢出",当我们将长数据放入短位置的时候,多出来的部分就会覆盖程序的其它数据,有时被覆盖的东西不重要,程序正常工作,有时重要,程序崩溃,这就叫不安全。

"但是我用VC++6.0的时候可没出这个错啊?"

我想是因为VC++6.0没有提醒这种问题的功能。

这种问题还有一个比较隐蔽的发生形式:如果我们正好输入5个字符呢?比如"Hello"。

事实上仍然会缓冲区溢出,因为字符串是以'/0'字符结尾,其本身也占一个位置,所以"Hello"实际上是6个字符

自动调整代码缩进

我们经常会获得一些缩进糟糕的代码,虽然缩进不是C/C++语法的一部分,但是十分影响程序的可读性。

比如,一个判断三角形形状的程序:

《转》Visual Studio 2015的安装与基本使用(社区版)第27张

编译通过,执行正确。但读起来很难受。

我就来考考你,倒数第二个else搭配的是哪个if?你能轻易看出来吗。

如何格整理这些代码呢,选择全部代码(Ctrl+A):

《转》Visual Studio 2015的安装与基本使用(社区版)第28张

按住Ctrl,按一下K,按一下F,神奇吗?

《转》Visual Studio 2015的安装与基本使用(社区版)第29张

那么现在,倒数第二个else搭配的是哪个if

使用VS的断点与单步跟踪功能

经常,为了找出程序的问题点,我们可以在VS中设下断点并且一步一步跟它着执行,观察各个变量的变化情况,来找到错误的地方。

回到本文之前的那个计算完全平方的程序,右键for循环的那一行,"断点"-"插入断点"。(或者先将光标移动到这一行,然后按F9,再或者直接点击行首空白处)

《转》Visual Studio 2015的安装与基本使用(社区版)第30张

在本行的首部将出现一个红圈,点击这个红圈可以取消断点

《转》Visual Studio 2015的安装与基本使用(社区版)第31张

F5运行程序,为scanf_s输入"10"回车,窗口会自动跳转至VS,光标自动定位到断点行。

这时将鼠标移动到任意一个变量名上,就可以查看这个变量的值。我们移动到i这个变量上:

《转》Visual Studio 2015的安装与基本使用(社区版)第32张

看到它拥有一个诡异的值。

"不对,啊,我不是给i赋值0了吗?就在这行!"

是的,但断点断下的时刻是这行执行之前,也就是现在的i还没被定义以及初始化,它的值自然是不确定的。

我们点击这个大头针,将固定显示i的值。

《转》Visual Studio 2015的安装与基本使用(社区版)第33张

你可以将它拖动到舒适的位置,甚至你还可以手动修改它的值,添加注释,但这里我们不需要这样做。

《转》Visual Studio 2015的安装与基本使用(社区版)第34张

我们按F10让程序向前走一步:

《转》Visual Studio 2015的安装与基本使用(社区版)第35张

立即发现i的值变成了0,并且VS还用红色显示给我们,同时光标自动移动到了if语句,左边的黄色箭头表面当前程序运行到的位置。再按F10

《转》Visual Studio 2015的安装与基本使用(社区版)第36张

因为i满足开方后仍然是整数的条件,所以进入了if分支,准备输出这个i

一路F10,你就可以观察清楚整个程序i是何时增加,何时输出。

当你不想再跟踪的时候,点击左边的红圈取消断点,按F5,让程序自己跑便是。

免责声明:文章转载自《《转》Visual Studio 2015的安装与基本使用(社区版)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Qemu模拟器运行AIX 7.2 系统docker配置修改阿里云镜像仓库下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

DirectX SDK版本与Visual Studio版本 [转]

DirectX SDK版本与Visual Studio版本    分类: DirectShow |  标签:sdk  directshow  directx  版本  visual  |字号 订阅     对于刚刚接触 DirectShow 的人来说,安装配置是一个令人头疼的问题,经常出现的情况是最基本的 baseclass 就无法编译。一开始我也为...

API Monitor简介(API监控工具)

API Monitor是一个免费软件,可以让你监视和控制应用程序和服务,取得了API调用。 它是一个强大的工具,看到的应用程序和服务是如何工作的,或跟踪,你在自己的应用程序的问题。 64位支持 API监控支持监控的64位应用程序和服务。 64位版本只能用来监视64位应用程序和32位版本仅可用于监测的32位应用程序。 要监视在64位Windows的32位应用...

gdb常用命令

索引      已审核          gdb 设置source搜索目录          dir /path 调用gdb编译需要在cc后面加 -g参数再加-o; [root@redhat home]#gdb 调试文件:启动gdb (gdb) l :(字母l)从第一行开始列出源码 原文链接 (gdb) break n :在第n行处设置断点 (gdb)...

Xcode基本操作

[From] http://blog.csdn.net/phunxm/article/details/17044337 1.Xcode IDE概览 说明:从左到右,依次是“导航窗格(Navigator)->边列(Gutter)->焦点列(Ribbon)->代码编辑窗口(Standard/Primary Editor)”。...

利用C#线程窗口调试多线程程序

       从网上的资料判断,调试多线程程序似乎就一下3种方法。 1、在日志的某个地方写日志文件。 优点:不会干扰程序的执行,特别是对网络的多线程通信。 缺点:每次都需要打开日志文件以查看进程运行的信息。 2、利用断点进行调试。 优点:直观,可以直接看到运行过程的值 缺点:在多个线程设置断点,可能让程序跳来跳去,还需要额外地分出一部分精力用来理清程序...

Netty源码剖析-关闭服务

参考文献:极客时间傅健老师的《Netty源码剖析与实战》Talk is cheap.show me the code! ----主线:    ----源码:   先在服务端加个断点和修改下代码:如图:  然后启动server和client;然后跳过bossGroup到workerGroup;进入workerGroup的关闭:在此之前呢,先在NioEven...