Visual Studio 2015 的***与使用
时间: 12:58:26
&&&& 阅读:75301
&&&& 评论:
&&&& 收藏:3
标签:为什么要使用Visual Studio 2015?
它是中文的、界面友好、自动补全、实时语法错误提示(上图中波浪线部分)、单步调试……最重要的社区版是免费的!所以你不必再昧着良心使用不合法、老旧的不兼容当代系统的VC++6.0,Come to VS2015 and enjoy it!
接下来我将告诉你如何***以及使用它编写、运行C/C++程序!
?获得Visual Studio 2015
进入,点击"下载Visual Studio社区"。
如果一切正常,你会得到一个大小大约为3MB的应用程序(我假设你知道如何下载,并且知道如何找到下载的文件):
双击它,稍等片刻,来到这个界面:
不用修改***目录,选择"自定义",点击"下一步",来到这里:
只选择"编程语言"下的"Visual C++",点击下一步,来到这里:
核对一下,点击"***",看到这个界面后:
就可以点击"最小化"玩别的了,***过程大约要一个小时,期间需要保持网络畅通。
完成了!看到那个巨大的"启动"了吗?点!
在VS中建立一个C/C++程序项目
现在,我们就可以开启VS之旅了!
打开VS2015,它可能会让你登录:
这里可以如果你愿意,可以登录,我这里选择"以后再说":
这里的开发设置,我选择"Visual C++",颜色我选择了酷炫的"深色"。(根据喜好来就行,不必犯选择困难症,反正以后也能改)
万事俱备,"启动Visual Studio"!
稍等片刻,你就会看到这个界面:
点击菜单:"文件"-"新建"-"项目",会出现这个窗口:
选择左侧的"Visual C++"之后,选择右侧的"空项目",项目名称填写"MyFristCPromgram",点击"确定"。(当然项目名你不必像我一样写这么长,随便打几个字母也是可以的)
之后,在左侧的"解决方案资源管理器"中,右键"头文件","添加","新建项"。(如果没有左侧的"解决方案资源管理器",可以点击菜单:"窗口"-"重置窗口布局")
在弹出的窗口中,修改新项的名称为"main.h"(你喜欢的话也可以用"main.c"或"main.cpp"或者随便起名字)
现在就可以书写你的代码了:
让我们向这个世界问好,写下这些代码:
点击工具栏上的那个三角形的绿色按钮("本地Windows调试器")来运行,或者更快捷的方式是直接按F5。
勾选"不再显示此对话框",点击"是"。
一闪而过!
"导演,剧本看起来不对啊!"
当你点击运行按钮或按F5后,程序一闪而过,怎么回事,VS2015的BUG?
并不是,我们看看这段程序,这段程序只有一行printf,没有任何别的语句,计算机瞬间就能执行完,执行完不就结束了吗,这就是一闪而过的原因。
但是我要看输出的文字啊,怎么让它在printf后停住呢?
很简单只需要使用 system("pause"); 命令即可,像这样:
你会发现 system 被画了红色的波浪线,将鼠标移上去发现VS告诉我们这是一个未定义的标识符,因为system所在的库我们没有包含,我们加上这行include:
按下F5,现在,你就已经学会如何使用Visual Studio来编写和运行简单的C/C++程序了:
如果你不想为使用system("pause");包含一个库,也可以使用scanf函数来等待输入,从而暂停程序,或者你可以在最后一个花括号那行,设置一个断点,这种方法我们将会在之后详细讲解。
教练,scanf不能用?!
"VS的问题怎么这么多!连scanf都不能用还写C程序?"
等等,请你先冷静下来,打勾"不再显示此对话框"点击"否",让我们仔细看看输出的这条错误信息:
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个字符!
使用VS自动调整代码缩进
经常我们从别处粘贴来的代码缩进不正确,或者很多不拘小节的人写代码可能从来不注意缩进,虽然缩进不是C/C++语法的一部分,但是十分影响程序的可读性。
就比如一个判断三角形形状的程序,有的小朋友就能写成这样:
别笑,这正是我见过的。这确实对编译器并没有什么障碍,但是如果你要修改这样的代码,你得比平常多花起码三倍精力。就比如我问你,倒数第二个else搭配的是哪个if?你能一眼看出来吗。
现在我们使用VS的自动格式化代码的功能,选择要被格式化的代码,这来我们选择全部(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,让程序自己跑便是。
wangzexi标签:
多谢。中间卡在&创建新项目那里了。1.创建的新项目----“Empty&Project”,&结果创建&&&&&*.h&头文件后,&&在按&&F5&运行时,&提示&找不到&&*****.exe&文件的错误。然后去&&项目文件夹/debug&下面找&&,并没有看到&&.exe&文件。2.后来,&查了几十篇文章,&也没解决这个问题。&&&&&再后来,解决办法是&&创建了&一个&&“win32&控制台&项目”,&&然后创建的是&&&&*.cpp&文件,&&&这样子就可以顺利的跑起来了。
您好,帮我看看为啥&***之后发生错误
&&国之画&&&& &&&&chrome插件&&
版权所有 京ICP备号-2
迷上了代码!OpenCV3.0 兼容VS2010与VS2013的问题 - CSDN博客
OpenCV3.0 兼容VS2010与VS2013的问题
1. OpenCV3.0 基本的配置
这几天被OpeCV3.0折腾的死去活来的,主要是由于目前Visual studio 在2010 余2013之间切换。所以有的时候自己虽然配置好了,但是为了让这两个版本跑起来总是有各种各样的错误。真的让人感到非常困惑,关于配置这里就不说了,百度一下大把,而且跟2.x版本的配置几乎是一样样的。
VS2013 上的配置:
包含库目录
上面的配置已完成基本就ok了。
VS2010的配置:
2. 问题的产生
举一个简单的例子来说明发生的问题,需找轮廓的函数:findcontours。
&span style=&font-size:14&&void findContours(InputOutputArray image, OutputArrayOfArrays contours, OutputArray hierar-
chy, int mode, int method, Point offset=Point())&/span&我以为根据基本的配置,在VS2010余VS2013上面就可以同时跑起来,因为在工程属性中都配置好了,详见上图。跑同样一段代码和处理同样的一幅图片,接下来问题来了。这里要实现告诉大家,我是先使用VS2010,所以openCV3.0也就是最先应用在VS2010上面的,所以在VS2010跑的很欢,但是移植到VS2013时就出现各种奇奇怪怪的问题。
详细的问题见对比图:
VS2010中找到的轮廓点,很正确
VS2013中找到的轮廓点,要崩溃了,这么大
所以这里就直接报错了。
3. 问题的查找
想了半天也不知道错误在哪里,总怀疑自己的图像 有问题,但是查来查去没有没有看到什么名堂。这里我又仔细一边调试边查看代码,终于有提示了
,真的是伟大的VS2013附体啊,不然还真的看不出来啊。
这是几个意思啊,我不是明明加入了进来了吗?哦等等,好像没有,因为这里依赖库只是加入这个几个名字,并没有加入具体的地址。而在依赖库中仅
仅要求lib文件的引用,我心想干脆直接将dll这个文件也引用下来,会不会没有问题。但是好像依然没有效果,也就是说这里不会调用dll,而且这个dll是
不会从依赖库中来调用。后来上网一查,我的个娘呢?
你的opencv配置的目录里面的东西,是在下面面的那个目录下面吧
C:\Windows\System32\opencv_world300d.dll
4. 问题的解决
根据上面提示就知道,只有将...\opencv\build\x86\vc12\bin文件的几个文件夹copy到C:\Windows\System32
就好了。但是问题就解决了一半啊,那VS2010又不能用了,所以这个折腾啊。看来以后尽可能的用在一个平台上面跑吧。
这里需要提醒大家:据我实验的是,最新版本的openCV3.0 好像不支持VS2010,因为在build文件里面只有vc11,vc12. 也就是说仅仅支持VS2012,VS2013. 看来要放弃VS2010. 不知道有没有高手可以解决这个问题啊。或者直接在VS2010使用vc11或vc12, 这个没有试过啊,大家可以尝试一下,好像用CMake编译可以使用在VS2010,VS2008,VS2005等。
目前我使用的是openCV3.0 Beta版本是支持vs2010,vs2012,vs2013的。大家可以试试这个版本,beta版本还是比较稳定的。
希望这个能够帮助到大家,这些纠结的人。
本文已收录于以下专栏:
相关文章推荐
(1)目前最新的opencv库为opencv 3.0.0 库,其下载地址为:http://opencv.org/downloads.html
Vs最新的可能达到了vs2015,考虑软件太大,且ope...
windows vs2010+opencv2.3.2 开发环境搭建
下载并*** DirectX Repair V3.5 修复工具,这个工具可以帮助规避很多缺失C++库的报错
我直接在百度上找了这个库直接下载,然后加入到
C:\Window\System3...
这篇文章中,我们将详细而深入地弄懂入门OpenCV2最基本的问题,那就图像的载入,显示和输出。PS:在文章末尾提供了博文配套程序原代码的下载。
依然是先看一张运行截图:
了解过之前老版本OpenCV的...
写作当前博文时配套使用OpenCV版本:2.4.8
之前啃了不少OpenCV的官方文档,发现如果了解了一些OpenCV整体的模块架构后,再重点学习自己感兴趣的部分的话,就会有一览众山小的感觉,...
本系列文章由zhmxy555(毛星云)编写,转载请注明出处。 文章链接: http://blog.csdn.net/poem_qianmo/article/details/ 作者:...
上一讲中我们已经实现了一个简单的GUI系统,显示出了游戏的主菜单页面,本篇文章的主要目的是在之前GUI系统的基础上,实现GUI中多个页面间的切换,更具有实用意义。首先依然是放出截图吧: 主菜单页面 开...
vs2013中opencv的配置
本文转载自/sdxk/p/4033667.html
下面开始介绍如何配置,我用的系统是win8.1 64位系统...
win7+vs2010+opencv3.0.0+***,opencv3.0.0添加的附加依赖项较之前简单。
他的最新文章
讲师:宋宝华
讲师:何宇健
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字) 上传我的文档
下载
收藏
快乐分享,.
下载此文档
正在努力加载中...
无意识的提示加工对创造性问题解决促进作用的神经机制
下载积分:1400
内容提示:无意识的提示加工对创造性问题解决促进作用的神经机制
文档格式:PDF|
浏览次数:2|
上传日期: 17:05:59|
文档星级:
全文阅读已结束,如果下载本文需要使用
1400 积分
下载此文档
该用户还上传了这些文档
无意识的提示加工对创造性问题解决促进作用的神经机制
关注微信公众号