Visual Studio 2015的安装与基本使用
为什么要使用Visual Studio 2015?
它是中文的、界面友好、自动补全、实时语法错误提示(上图中波浪线部分)、单步调试……最重要的社区版是免费的!所以你不必再使用破解的、老旧的的不兼容现代系统的VC++6.0,Come to VS2015 and enjoy it!
接下来我将告诉你如何安装以及使用它编写、运行C/C++程序、以及调试的一些小技巧!
获得Visual Studio 2015
进入Visual Studio 官方网站,点击"下载Visual Studio社区"。
如果一切正常,你会得到一个大小大约为3MB的应用程序(我假设你知道如何下载,并且知道如何找到下载的文件):
双击它,稍等片刻,来到这个界面:
不用修改安装目录,选择"自定义",点击"下一步",来到这里:
只选择"编程语言"下的"Visual C++",点击下一步,来到这里:
核对一下,点击"安装",看到这个界面后:
就可以点击"最小化"玩别的了,安装过程大约要一个小时,期间需要保持网络畅通。
完成了!看到那个巨大的"启动"了吗?点!
在VS中建立一个C/C++程序项目
现在,我们就可以开启VS之旅了!
打开VS2015,它可能会让你登录:
这里可以如果你愿意,可以登录,我这里选择"以后再说":
这里的开发设置,我选择"Visual C++",颜色"深色"。
"启动Visual Studio"
稍等片刻,你就会看到这个界面:
点击菜单:"文件"-"新建"-"项目",会出现这个窗口:
选择左侧的"Visual C++"之后,选择右侧的"空项目",项目名称填写"MyFristCPromgram",点击"确定"。
之后,在左侧的"解决方案资源管理器"中,右键"头文件","添加","新建项"。(如果没有左侧的"解决方案资源管理器",可以点击菜单:"窗口"-"重置窗口布局")
在弹出的窗口中,修改新项的名称为"main.cpp"。(图中误为".h"后缀,可能导致编译错误)
现在就可以书写你的代码了:
让我们向这个世界问好:
点击工具栏上的那个三角形的绿色按钮("本地Windows调试器")来运行,或者更快捷的方式是直接按F5。
勾选"不再显示此对话框",点击"是"。
一闪而过!
"???!"
当你点击运行按钮或按F5后,程序一闪而过,怎么回事,VS2015的BUG?
并不是,我们看看这段程序,这段程序只有一行printf,没有任何别的语句,计算机瞬间就能执行完,执行完不就结束了吗,这就是一闪而过的原因。
但是我要看输出的文字啊,怎么让它在printf后停住呢?
很简单只需要使用 system("pause"); 命令即可,像这样:
你会发现 system 被画了红色的波浪线,将鼠标移上去发现VS告诉我们这是一个未定义的标识符,因为system所在的库我们没有包含,我们加上这行include:
按下F5,现在,你就已经学会如何使用Visual Studio来编写和运行简单的C/C++程序了:
补充
如果你不想为使用system("pause");包含一个库,也可以使用scanf函数来等待输入,从而暂停程序,或者你可以在最后一个花括号那行,设置一个断点,这种方法我们将会在之后详细讲解。
scanf不能用?!
"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宏来屏蔽这个警告。
方法一:通过修改scanf为scanf_s,便可以通过编译
它看上去工作良好。
"我偏要用scanf!"
方法二:我们可以通过定义_CRT_SECURE_NO_WARNINGS宏来关闭VS的安全警告:
这两种方法任选其一即可。当然,在关闭VS安全警告后,scanf_s仍然是可用的。
不安全的scanf(选读)
当使用scanf通过%s读入字符串的时候,很多初学者会忽略用户输入的字符串长度的问题,导致缓冲区溢出。观察下面这个程序:
首先程序开辟了5个字节的空间来接受输入,但问题是,你并不知道用户会输入多少。
让我们运行起来这个程序,输入一个明显大于5个字符的文本,测试一下:
"哈哈!什么事情都没有,你根本在吓唬我!"
别高兴的太早,按任意键结束这个程序:
VS给我们提出了警告,告诉我们"str"这个变量的堆栈不正常,其实这就是之前我们提到的术语"缓冲区溢出",当我们将长数据放入短位置的时候,多出来的部分就会覆盖程序的其它数据,有时被覆盖的东西不重要,程序正常工作,有时重要,程序崩溃,这就叫不安全。
"但是我用VC++6.0的时候可没出这个错啊?"
我想是因为VC++6.0没有提醒这种问题的功能。
这种问题还有一个比较隐蔽的发生形式:如果我们正好输入5个字符呢?比如"Hello"。
事实上仍然会缓冲区溢出,因为字符串是以'/0'字符结尾,其本身也占一个位置,所以"Hello"实际上是6个字符!
自动调整代码缩进
我们经常会获得一些缩进糟糕的代码,虽然缩进不是C/C++语法的一部分,但是十分影响程序的可读性。
比如,一个判断三角形形状的程序:
编译通过,执行正确。但读起来很难受。
我就来考考你,倒数第二个else搭配的是哪个if?你能轻易看出来吗。
如何格整理这些代码呢,选择全部代码(Ctrl+A):
按住Ctrl,按一下K,按一下F,神奇吗?
那么现在,倒数第二个else搭配的是哪个if?
使用VS的断点与单步跟踪功能
经常,为了找出程序的问题点,我们可以在VS中设下断点并且一步一步跟它着执行,观察各个变量的变化情况,来找到错误的地方。
回到本文之前的那个计算完全平方的程序,右键for循环的那一行,"断点"-"插入断点"。(或者先将光标移动到这一行,然后按F9,再或者直接点击行首空白处)
在本行的首部将出现一个红圈,点击这个红圈可以取消断点。
F5运行程序,为scanf_s输入"10"回车,窗口会自动跳转至VS,光标自动定位到断点行。
这时将鼠标移动到任意一个变量名上,就可以查看这个变量的值。我们移动到i这个变量上:
看到它拥有一个诡异的值。
"不对,啊,我不是给i赋值0了吗?就在这行!"
是的,但断点断下的时刻是这行执行之前,也就是现在的i还没被定义以及初始化,它的值自然是不确定的。
我们点击这个大头针,将固定显示i的值。
你可以将它拖动到舒适的位置,甚至你还可以手动修改它的值,添加注释,但这里我们不需要这样做。
我们按F10让程序向前走一步:
立即发现i的值变成了0,并且VS还用红色显示给我们,同时光标自动移动到了if语句,左边的黄色箭头表面当前程序运行到的位置。再按F10。
因为i满足开方后仍然是整数的条件,所以进入了if分支,准备输出这个i。
一路F10,你就可以观察清楚整个程序i是何时增加,何时输出。
当你不想再跟踪的时候,点击左边的红圈取消断点,按F5,让程序自己跑便是。
Visual Studio 2015的安装与基本使用的更多相关文章
- 第三次作业 (一)----------------------Visual Studio 2015的安装及单元测试
这是第三周的第一个作业,Visual Studio 2015的安装及单元测试. 我的电脑之前安装过Visual Studio 2015,但是在安装过程中我从来没有留意过各种注意事项,所集正好借此作业的 ...
- Visual Studio 2015的安装及单元测试练习
第一部分:Visual Studio 2015的安装 我电脑系统是win10,所以安装的是Visual Studio 2015,安装步骤部分截图如图所示: 1.安装类型选项界面:可以选择默认安装,可以 ...
- Visual Studio 2015的安装和简单的单元测试
何为单元测试 绝大多数的软件都是由多人合作完成的,大家的工作相互有依赖关系.软件的很多错误都来源于程序员对模块功能的误解.疏忽或不了解其他模块的变化.如何能让自己负责的模块功能的定义尽量的明确,模块内 ...
- Visual Studio 2015的安装和简单的测试
首先是Visual Studio 2015的安装 Visual Studio是微软开发的一套基于组件的软件开发工具,目前最新的版本是2015. 在 I Tell you 网站下载Visual Stud ...
- 解决Visual C++ Redistributable for Visual Studio 2015的安装问题
1. Visual C++ Redistributable for Visual Studio 2015系统要求:Windows 7情况下必须是Windows 7 with SP1.或者Windows ...
- Visual Studio 2015编译安装配置QT5.5.1(含QTWEBKIT)
尽管QT5.5.1和VisualStudio 2015都已经发布很久了,但是QT项目组视乎不会为QT5.5.1专门发布预编译的QT5.5.1 for windows(2015)版本的,也不会专门发布V ...
- Microsoft Visual Studio 2015 python 安装 mysql-python 出错解决
Microsoft Visual Studio 2015 安装 python 连接包 mysql-python出错 第一种 pip安装方式 安装Microsoft Visual C++ Compi ...
- Visual studio 2015 Community 安装过程中遇到问题的终极解决
早就有给自己电脑升级VS的想法,可是安装过程并不顺利,一直拖到现在,昨天下定决心,把遇到的问题一个个解决,终于安装成功了,将安装过程中遇到的问题和解决方法记录一下. 需要说明一下的是,不同的电脑环境可 ...
- 解决Visual C++ Redistributable for Visual Studio 2015的安装问题(摘录)
1. Visual C++ Redistributable for Visual Studio 2015系统要求:Windows 7情况下必须是Windows 7 with SP1.或者Windows ...
随机推荐
- UINavigationBar
iOS项目,根据设计图,有时需要自定义UIView的UINavigationBar的背景.可以切出来一张1像素左右的背景图片,来充当UINavigationBar的背景. 可以利用Navigation ...
- mysql优化---优化sql
一.通过show status和应用特点了解各种SQL的执行频率 通过SHOW STATUS可以提供服务器状态信息,也可以使用mysqladmin extended-status命令获得.SHOW S ...
- Milk Pails
Milk Pails 题目描述 Farmer John has received an order for exactly M units of milk (1≤M≤200) that he need ...
- vs2008安装opencv2.4.6
最近安装opencv2.4.6,发现犯了一个很愚蠢的错误,在此记录一下. opencv的头文件包含应该位于build文件夹内,而我误将opencv文件夹下的include包含了进去,造成无法找到头文件 ...
- java 读excel xlsx
http://bbs.csdn.net/topics/380257685 import java.io.File; import java.io.IOException; import java.io ...
- python之路:进阶篇
> ) { ; } printf(;} print i >>> >>> == : name == == ...
- Cocos2dx 3.1.1 将一个2.X的项目改成3.1版本
最近在论坛上下载到了一个Cocos2dx的单机跑酷例子, 也不知道是2.x版的, 花了一天时间试着把他改成3.1.1的试试, 现在已经可以顺利编译的, 但是还是有Heap Free的问题,调试了好几天 ...
- openstack controller ha测试环境搭建记录(八)——配置nova(控制节点)
在任一节点创建nova用户:mysql -u root -p CREATE DATABASE nova;GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localh ...
- bzoj3322 最大生成树+LCA
题目大意:给个无向图,每条边有个限制,每个点最多能买入和卖出一定黄金:然后按顺序走过n个点,求每个卖出黄金的点最多能卖出多少黄金 一开始有点懵,想着怎么再图上做这个问题,后来知道要先建一棵最大生成树 ...
- Nginx 负载均衡 后端 监控检测 nginx_upstream_check_module 模块的使用
在使用nginx 的负载均衡 中,我们通常会使用到 Nginx 自带的 ngx_http_proxy_module 健康检测模块. ngx_http_proxy_module 自带的 健康检测模块参数 ...