VS2010



VS2010简介


我们编程需要一个集成开发环境(Integrated Development Environment),而VS2010是微软开发的一款比较优秀的集成开发环境,也是目前最流行的Windows平台应用程序开发环境。



学习目标


1.如何使用VS2010创建工程,构建程序;


2.使用VS2010进行简单的调试。



学习VS2010


从最初的VS2005,VS2008乃至最新的VS2012,它们的使用方法都是大同小异的。


这里我们要特别强调一下VC6.0,这是一款比较经典的IDE,但是我们不推荐使用它,因为它是在C++标准推出以前就已经发布了,对C++的标准支持不是很好。


我们并不打算详细介绍VS2010的全部功能,因为它的功能是非常强大的。我们只是学习与C++相关的一些功能,这些功能是相对比较简单的。



VS2010的安装


我们在这里就不介绍VS2010的安装了,大家可以去搜索一下安装的教程。



创建工程


在VS2010中,它们不能直接编译一个cpp源文件,它们必须依赖一个工程。


1.点击菜单栏中的文件选项,选择新建,再选择项目


vs1.png


2.我们这里创建的是一个C++的控制台应用程序。名称是工程的名字,位置为项目源文件存放的目录


vs2.png


3.由于我们是创建一个新的程序,所以不希望编译器为我们添加了代码,所以我们勾选空项目这个选项,然后点击完成创建项目,你也可以尝试其它的选项去查看一下创建效果


vs3.png


4.我们现在不需要这些源文件,头文件等这些选项,可以选中之后按住delete删除它们,删除之后如右图所示


vs4.png


5.我们为应用程序添加一个.cpp文件,右击项目名称,选中添加,再选择添加新增项。


vs5.png


6.如下图选择,创建一个名为main的源文件添加到了项目中


vs6.png


添加好之后的源文件没有任何代码,这就创建好了一个工程


vs7.png


7.我们可以选择自己喜欢的颜色,字体,在菜单栏上面的工具,再选中选项,选择环境中的字体和颜色就出现了设置界面


vs8.png


8.使编辑器显示行号,默认情况下编辑器是没有显示行号的,我们为了方便编辑,把行号显示出来。在刚才的界面中选择文本编辑器,再选择C/C++,勾选行号,点击确定退出选项


vs9.png


9.工程创建好之后,我们就可以编写代码了。生成一个程序的步骤是编辑,编译,链接。在VS里面,编译和链接可以在VS里面一步实现


vs90.png


下面的输出窗口有一些编译的信息,如果出错,会有一些提示


vs91.png


生成成功,这说明应用程序已经生成了。


vs92.png


10.运行应用程序,当应用程序生成了之后,我们可以自己去找到刚才存放项目的文件下找到这个控制台应用程序,然后运行,还可以通过编译器直接运行它,我们这里直接通过编译器来运行它。


vs93.png


运行结果如下:


vs94.png


11.VS2010常用菜单栏详解


生成解决方案:一个解决方案里面可以包括多个项目,左侧就是一个解决方案里面包含了一个项目,我们可以点击左侧解决方案添加项目。生成解决方案就是将解决方案里面的所有项目都编译遍。


重新生成解决方案:重新编译一遍所有项目。


清理解决方案:把上次编译完成的信息全部清除。


vs95.png


很多同学发现我和你们的编译器布局不是一样的,你们在关闭了一些窗口之后,可以通过视图选项来重新打开它们。


解决方案资源管理器:就是最左侧的列表管理。


输出:显示编译的一些信息。


错误列表:当编译出错的时候,错误提示会显示在这里。


vs96.png


我们可以故意制造一个错误,在运行的时候,在下面的错误列表就会有提示,双击这个错误提示就可以定位到出错的行数。点击最下面的切换选项可以各个窗口。我们可以在下面的错误列表看到出错的地方,双击这个错误提示就可以定位到代码出错的地方。


vs97.png


可以选择自动隐藏,这样代码窗口可以更大。


vs98.png



调试程序


调试有一个英文术语:debug。调试是指重现软件的bug,定位问题的根源,并最终解决问题的过程。在设计程序的时候,中间可能会遇到很多的问题,有一些是语法问题,这类的问题比较好修改。另外一些可能就是一些逻辑问题了,逻辑问题时比较难定位的,这个时候我们可以借助IDE调试器的一些机制来解决问题。


1.断点


Cpu的运行速度是非常快的,我们可以设置一些断点,当cpu执行到断点的地方时,cpu就会暂停下来,停在将要执行这一行的状态。我们就可以查看当前程序的一些状态,比如变量的值,计算机的状态,内存的状态等等…..


那么我们如何来设置断点呐?在行数的最左侧位置点击就可以设置一个断点。还可以点击到设置断点的这一行,点击菜单栏中的调试,再选择切换断点就可以为光标所在行添加一个断点。取消断点也就是在行的最左侧再次点击断点位置或者再按照刚才菜单栏里面的操作再执行一遍。我们刚才运行程序的时候都是选择不调试的,这样,编译器是不会管这些断点的。


vs99.png


选择调试选项栏,点击启动调试,就会如下图所示。光标会移动到断点位置,这一行并没有被执行,我们将鼠标移动到变量的上方就可以看到他们当前状态的值。下面的自动窗口里面你也可以添加一些变量进去监视这个变量,还可以右击这个变量快速监视或者添加监视。它们的值在自动窗口里面是红色是因为在本次断点运行时它们的值是改变了的。局部变量窗口里面也有一些值。


vs990.png


vs991.png


断点窗口可以显示所有的断点,还可以进行添加,删除等操作。


vs992.png


堆栈窗口可以显示我们函数调用的序列,最上面是栈顶,表示现在正在执行的函数。下面是已经执行过的父函数。


刚才所提到过的这些窗口如果没有就自行到调试选项的窗口里面查找。


vs993.png


这是我们打开内存的显示,我们可以在地址栏中输入地址,就可以看到这个地址存储的值。以下是访问0的结果,显示不可以访问,所以是问号。这就是为什么指针是空指针的时候,访问的时候程序就会崩溃的原因。


vs994.png


程序已经停在断点的那一个语句前面,我们可以点击继续开始后面语句的调试,cpu会继续执行,知道遇到下一个断点。因为这里后面没有断点了,所以就会结束。


vs995.png


下面我们再来介绍几个概念:


单步调试(逐过程F10):一次向下执行一条语句,遇到函数直接执行完整个函数;


单步进入(逐语句F9):普通代码执行一句,遇到函数是会进入函数定义中执行;


这是选择逐语句的结果,在main函数里面运行到这个函数的调用的时候,进入到了定义在main函数外面的函数体中去调试,我们也可以在左下侧的堆栈区域看到当前执行的函数,和下面的父函数main函数。


vs996.png


为了熟悉调试,大家应该对调试的这些快捷键熟悉。比如F5,F10,F11,F9。



编译版本


不知道大家有没有注意到,在这里有两种生成程序的方式。


Debug版本:生成过程中编译器会加入一些调试的机制,各方面的问题,它是没有被优化过的,体积是比较大的。该版本的程序我们是不能发布给客户用的。


Release版本:编译器会对应用程序进行一些优化,也使得软件的运行速度更快,效率更高。优化我们可以配置成最佳速度或者是体积最小。


调试的时候我们还是选择debug版本,只是在发布应用程序的时候我们才选择release版本。


vs997.png



【本文由麦子学院独家原创,转载请注明出处并保留原文链接】

logo
© 2012-2016 www.maiziedu.com
蜀ICP备13014270号-4 Version 5.0.0 release20160127

有一位课程导师想与你聊聊

客服热线 400-862-8862

回到顶部