购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.1 Microsoft Visual C++ 2010学习版的使用

在Windows平台下,Visual Studio集成开发环境功能强大,各版本功能上的差异如图1-1所示。Visual Studio企业版和专业版体积较大且需付费,Visual Studio学习版具备专业版的大部分功能而且提供免费下载。对于高版本Visual Studio,微软公司提供Community版(社区版)下载,社区版无须付费且具有Visual Studio专业版的所有重要功能。与社区版相比,Visual Studio学习版少了一些高级功能,但体积更小。

图1-1 Visual Studio 2019各版本功能差异

从2019版开始,Visual Studio只能在Windows 10环境下安装,且不提供离线DVD安装镜像。考虑到读者的实际需要,本节介绍Visual C++ 2010学习版(2018年3月起,NCRE二级C和C++语言的考试环境更换为Microsoft Visual C++ 2010学习版)的安装,读者也可尝试其他版本。

1.1.1 Visual C++ 2010学习版的安装

Visual Studio社区版或学习版的高版本离线安装包通常较大,多采用在线安装方式,在网络条件差或对功能要求不高的情况下使用低版本更适宜。在微软官方网站或其他可信渠道下载Microsoft Visual C++ 2010学习版安装包/镜像文件,将之解压到计算机磁盘的某个文件夹下,就可以开始安装过程。

1.定位安装文件夹,准备安装

定位到解压缩后的Visual C++ 2010学习版文件夹,找到setup.exe安装程序(若文件的“查看”选项设置为“隐藏已知文件类型的扩展名”则显示为setup),双击开始安装,如图1-2所示。

2.“许可条款”对话框

启动安装程序后,会自动复制必要的安装文件到系统中,复制完成后会进入下一安装环节。按照默认选项,直接单击“下一步”按钮,直到“许可条款”对话框出现。在“许可条款”对话框中,选中“我已阅读并接受许可条款”选项,然后单击“下一步”按钮,如图1-3所示。

图1-2 准备安装Visual C++ 2010学习版

图1-3 “许可条款”对话框

3.“安装选项”对话框

在“安装选项”对话框中,可根据需求安装可选组件。在本对话框中,不勾选任何选项,单击“下一步”按钮继续,如图1-4所示。

图1-4 “安装选项”对话框

4.“目标文件夹”对话框

在“目标文件夹”对话框中,可修改Visual C++ 2010学习版的默认安装位置。鉴于安装包占用空间不大,保持默认安装位置,单击“安装”按钮继续安装进程,如图1-5所示。

图1-5 “目标文件夹”对话框

接下来,安装程序会自动安装必要的组件,并在“安装进度”对话框中显示当前安装进度信息,如图1-6所示。

当所有组件安装完毕且未出现错误的情况下,会弹出“安装完成”对话框,如图1-7所示。在该对话框中可以通过超链接访问Windows更新。此处不作任何处理,单击“退出”按钮完成安装过程。

图1-6 “安装进度”对话框

图1-7 “安装完成”对话框

1.1.2 创建、编辑、编译和运行项目

在Visual C++ 2010学习版中通过解决方案和项目对源代码及相关文件进行管理。使用Visual C++ 2010学习版创建、编辑、编译和运行项目的具体步骤如下。

1.启动Visual C++ 2010学习版

安装完成后,从开始菜单项中找到Visual C++ 2010学习版对应的条目,如图1-8所示。单击启动Visual C++ 2010学习版。

图1-8 Visual C++ 2010学习版的启动菜单项

2.Visual C++ 2010学习版起始页

第一次启动Visual C++ 2010学习版时,会进行一些必要的配置,需要稍等一会儿才能进入起始页面。在起始页面中,可通过“入门”教程学习如何使用Visual C++ 2010学习版,可以查看与产品相关的新闻消息,也可以通过“新建项目”或“打开项目”选项创建项目或打开已保存的项目,如图1-9所示。

图1-9 Visual C++ 2010学习版起始页

若未曾创建过项目或者需要创建新的项目,可以单击“新建项目”选项,按照向导一步一步创建新项目。若已经创建过项目,可在“最近使用的项目”列表中直接单击并打开对应的项目,或者选择“文件”→“打开”→“项目和解决方案”命令启动“打开项目”对话框从而打开已经创建的项目。

3.创建新项目

在起始页面中,可通过单击“新建项目”选项的方式创建项目,或者选择“文件”→“新建”→“项目”命令以创建项目。在“新建项目”对话框中,选择Visual C++模板①→“空项目”类型②,输入firstExample作为新项目的名称③,取消勾选“为解决方案创建目录”复选框④,确定好保存位置⑤,然后单击“确定”按钮⑥,创建一个不带任何内容的空项目,如图1-10所示。

图1-10 新建空项目的步骤

项目创建完成后,在Visual C++ 2010学习版的“解决方案资源管理器”中可以查看项目的组织结构,如图1-11所示。从图1-11中可见,一个解决方案可包含若干个项目,每个项目又由源文件、头文件、资源文件和外部依赖项构成。若“解决方案资源管理器”不可见,可通过选择“视图”菜单下的“解决方案资源管理器”使之可见。

图1-11 解决方案的组织结构

解决方案是Visual Studio中用来组织项目的结构。Visual Studio采用.sln和.suo两种文件类型存储特定于解决方案的设置,总称为解决方案文件。

在Windows资源管理器中可以查看空项目firstExample的文件信息,如图1-12所示。其中,firstExample.sln为解决方案文件,firstExample.vcxproj为项目文件。通常情况下,打开项目时应选择.sln文件,若直接打开.vcxproj文件则会重新生成一个解决方案。

图1-12 在资源管理器中浏览解决方案文件

4.在项目中添加文件

空解决方案无法进行后续算法的学习,还需为解决方案添加源文件和头文件等内容才可以编写算法源代码。在“解决方案资源管理器”中右击firstExample项目下的“源文件”子项,在弹出的菜单中选择“添加”→“新建项”命令。在“添加新项”对话框中,选择“C++文件(.cpp)”①,输入文件名mainEntry.c②,确定保存位置③,单击“添加”按钮④,就为firstExample解决方案的firstExample项目添加了一个名为mainEntry的C++源文件,如图1-13所示。

图1-13 为解决方案添加源文件

在“名称”处输入文件名时,默认情况下系统会自动添加“.cpp”扩展名。也可以在“名称”处输入文件名时直接指定扩展名,如输入“mainEntry.c”。使用扩展名为“.c”时,对源代码有更多限制,如函数内局部变量的声明必须在实际操作语句之前等。

使用高版本Visual Studio编辑C语言源代码时,系统会对scanf()和strcpy()等函数给出安全警告提示,可以在源代码的第一行添加一个宏定义“#define_CRT_SECURE_NO_WARNINGS”来消除警告信息。

5.编辑、编译和运行代码

在源文件mainEntry.c中输入如下测试代码:

    程序清单1-1 mainEntry.c
    1  #define_CRT_SECURE_NO_WARNINGS
    2  #include<stdio.h>
    3  int main()
    4  {
    5    printf("Hello,world!\n");
    6    return 0;
    7  }

输入代码后,单击“全部保存”按钮①,单击工具栏上的“开始调试”按钮②,Visual C++ 2010学习版会弹出编译对话框,询问是否生成项目,单击“是”按钮③启动生成过程,如图1-14所示。生成成功后,即可运行并查看输出结果。

图1-14 编译和运行代码

1.1.3 为什么缺少很多选项

未对Visual C++ 2010学习版进行配置时,与项目管理相关的许多功能在菜单中无法找到,例如调试代码时的寄存器窗口、与断点相关的设置项等都无法找到。Visual C++ 2010学习版针对初学者的默认配置是“基本设置”,隐藏了一些较为复杂的高级选项,通过“工具”→“设置”→“专家设置”命令即可恢复,如图1-15所示。

图1-15 切换“基本设置”和“专家设置”

将设置修改为“专家设置”后,会增加一个“生成”菜单,“编辑”“视图”“项目”“调试”和“工具”菜单下均会多出一些与高级功能相关的菜单项,如图1-16~图1-18所示。

图1-16 切换为“专家设置”后增加的“生成”菜单

图1-17 “生成”菜单的详细信息

1.1.4 为什么一闪而过

未做特殊配置时,选择“调试”菜单下的“启动调试”命令或者单击工具栏的“运行 ”按钮后,运行结果窗口会一闪而过,来不及观察输出结果。

可以使用“调试”菜单下的“开始执行(不调试)”或者按Ctrl+F5组合键解决该问题。以“开始执行(不调试)”方式运行程序时,不能进行调试,而且输出窗口仍可能会一闪而过。若输出窗口仍然一闪而过,可使用下述两种方法处理。

图1-18 “调试”菜单的变化

1.设置输出为控制台方式

在“解决方案资源管理器”中,选择firstExample项目①,右键选择“属性”命令②会弹出“firstExample属性页”对话框。在对话框中,依次选择“配置属性”→“链接器”→“系统”命令③,在右侧窗口中将“子系统”设置为“控制台”模式④,然后单击“确定”按钮⑤,如图1-19所示。此时,再按Ctrl+F5组合键运行就可以见到久违的输出窗口了。

图1-19 设置输出为控制台

2.调试模式仍然一闪而过

经过上述设置后,当以调试模式运行代码时,输出窗口仍然会一闪而过,可以在main()函数的return语句前加上一条语句“system("pause");”解决,如图1-20所示。如果“system("pause");”语句报错,需要在main()函数的开头处添加一行“#include<stdlib.h>”。

图1-20 添加语句控制输出暂停

注意: 在百度和谷歌中检索相关资料的结果表明,除了使用更高版本的Visual Studio(如Visual Studio 2019)之外,目前尚无其他更有效的解决办法。

1.1.5 其他配置选项

除了上述必要的配置之外,还有部分与编码和调试相关的设置需要了解,这些设置可以提高学习的效率。

1.与显示相关的菜单项

与显示内容相关的设置均在“视图”菜单下,例如通过“解决方案资源管理器”可以对整个项目信息进行管理,在面向对象程序设计时可使用“类视图”了解类的结构等等,如图1-21所示。

图1-21 与显示相关的“视图”菜单项

2.与调试相关的菜单项

调试是学习程序设计的必备技能,通过调试可以更高效定位和解决代码中存在的错误。对C/C++学习者而言,Visual Studio是Windows平台下调试功能最为强大的集成开发环境之一。

对于代码的调试,Visual C++ 2010学习版提供了调试工具和调试相关窗口两大类可供学习者使用的功能,如图1-22所示。调试工具包括调试快捷键和断点相关设置。按下F5键为开始调试,按下F9键为断点切换,按下F10键为逐过程调试,按下F11键为逐语句调试,按下Ctrl+F10组合键为运行到光标处,按下Shift+F5组合键为停止调试。在调试过程中,还可以打开断点窗口对断点进行更详细的设置和操作(删除选中断点,设置条件断点,导出断点等),如图1-23所示。

图1-22 调试菜单项

图1-23 断点窗口

除了上述内容之外,在调试过程中还有4个窗口非常重要,分别是“监视”窗口、“内存”窗口、“反汇编”窗口和“寄存器”窗口,如图1-24所示。通过“监视”窗口可以查看变量的值、地址及类型等信息,对于理解函数的参数传递具有相当重要的作用;通过“内存”窗口可以查看变量在内存中的存储信息,可帮助学习者理解局部变量在函数中的地址分配和处理规则;“反汇编”窗口显示当前程序段对应的反汇编信息,通过该信息可以了解函数的栈帧信息、函数调用时参数的传递规则及“++”和“--”等运算符的处理规则;“寄存器”窗口显示当前调试过程中寄存器的值,使学习者可以快速了解当前运算是否处于溢出等状态,也可以查看函数的返回值等信息。

图1-24 与调试相关的4个重要窗口

3.与生成相关的菜单项

“生成”菜单下包括对解决方案的处理和对项目的处理两大块,如图1-25所示。若解决方案中仅有一个项目,则两者的作用是相当的;当解决方案中包含多个项目时,则需要区分生成项目和生成解决方案。

图1-25 与解决方案和项目生成相关的菜单项

当选择“生成解决方案”或“重新生成解决方案”时,将只编译自上次生成以来改动过的那些项目文件和组件;选择“清理解决方案”时,将删除之前生成的所有中间文件和输出文件,只留下项目文件和组件文件;选择“重新生成解决方案”时,将首先清理解决方案,然后生成中间文件和输出文件。生成项目、清理项目和重新生成项目的处理与解决方案的处理规则一致。

4.工具栏

Visual C++ 2010学习版将经常使用的命令分组放置于各个工具栏中,用户可根据使用频度和屏幕空间对工具栏进行布局和定制。新建、打开、保存等命令存放于“标准”工具栏;缩进、注释等命令放置于“文本编辑器”工具栏,启动、暂停、停止、逐语句、逐过程等调试相关的命令在“调试”工具栏中;对于其他工具栏用户可以根据需要设置其是否可见,如图1-26所示。

图1-26 Visual C++ 2010学习版的工具栏 SgNqBESp340sjt9HHVWyQVTlz8Zfo5JIyY8oeEMMRvRSuzVLgnp+/jTFBTY6xRRD

点击中间区域
呼出菜单
上一章
目录
下一章
×