用 VS2022 编译 C++ 程序
目录
IMPORTANT
认真阅读!!!
注意事项
基本知识
- 项目:完成一个特定功能的所有源程序组成一个项目(简单来说,一道作业题一个项目)
- 源程序文件:完成程序特定功能的代码,一个项目允许有多个源程序文件(最开始几周,一个项目一个源程序文件)。C 语言源程序文件后缀名通常为
.c
,C++源程序文件后缀名通常为.cpp
- 头文件:源程序文件中有特殊用途的一种,通常无后缀名或以
.h
为后缀名,具体在第 4 章会接触到 - 可执行文件:由源程序文件编译得到,可以直接在计算机中运行的程序(*.exe)。一个项目最多只会生成一个可执行文件。
- 源程序文件:完成程序特定功能的代码,一个项目允许有多个源程序文件(最开始几周,一个项目一个源程序文件)。C 语言源程序文件后缀名通常为
- 解决方案:VS2022 提供的可同时管理多个项目的集成环境(有效使用解决方案,能极大提高效率)
编写程序步骤概览
- 创建新项目(第一次创建新项目会同步建立一个解决方案)
- 在项目中建立新的源程序文件 (*.cpp/*.c)
- 对源程序文件 (*.cpp) 进行编译,若成功则生成编译结果文件 (*.obj)
- 检查语法错误,错误分 致命错误(error) 及 警告错误(warning)
- error 会导致编译失败,warning 不影响编译,但意味着编译器认为程序很可能有错或写得不好
- warning 只在源程序改动后的 第一次编译时出现,之后不再出现
- VS2022 下 warning 有两种:常规 warning 及智能提示 warning,只需要解决常规 warning 即可,具体识别及处理 另行下发文档
- 对编译结果文件 (*.obj) 进行链接,检查链接过程中的错误,形成可执行程序文件 (*.exe)
- 运行可执行程序文件 (*.exe) ,检查其中的逻辑错误,验证程序正确性
- 编译执行过程中会产生很多临时文件 (交作业时只有*.c/*.cpp是需要的)
新建项目并新建解决方案
第 1 步:启动VS2022
方法 1:选择“创建新项目”
方法 2:选择“继续但无需代码”后进入主界面,按“新建项目”按钮 (直接按“Ctrl+Shift+N”也可)
方法 3:选择“继续但无需代码”后进入主界面, 菜单-“文件”-“新建”-“项目” (直接按“Ctrl+Shift+N”也可)
第 2 步:出现的对话框中,选择“空项目”,按“下一步” (不要瞎选)
第 3 步:出现的对话框中,“项目名称”、“位置”、“解决方案名称”等按需修改,最后按“创建”
第 4 步:项目/解决方法新建成功后,出现如下界面 (一定要改为Debug/x86)
注:因为上一步设置的“项目名”和“解决方案名”不同,界面上显示不同,请注意观察
第 5 步:在项目“helloworld”的“源文件”上按鼠标右键,出现的菜单中选择“添加”-“新建项”
第 6 步:在出现的“添加新项”对话框(简版)中选择“显示所有模版”(课程后期需添加其他类型文件,因此进行设置)
第 7 步:出现的对话框中选择“C++ 文件(.cpp)”,在“名称”中输入 C++ 源文件的名称 (按作业要求命名),按“添加”
第 8 步:在新添加的源程序文件中输入你的代码
#include <iostream>
using namespace std;
int main()
{
cout << "Hello, 同济大学!" << endl;
return 0;
}
TIP
第 6 行的 endl
的最后一个字符为小写字母 l,而非数字 1。endl
为“end of line”的缩写,用于在输出时换行。
第 9 步:确认右下角两个设置是否“SYS-简体中文(GB2312)”和“CRLF”
IMPORTANT
非常重要,作业中设置错误可能导致当题不得分!
若安装 VS2022 时未正确完成 FileEncoding 插件的安装,则无法正确完成这一步。
若操作系统的区域设置非 中文-中国
(例如:英文版 Windows),则这里可能无法正确选择,可以参考 教程 修改设置,或自行解决编码问题。
第 10 步:输入完成后,“调试”-“开始执行(不调试)” (推荐直接按 CTRL+F5 组合键)
第 11 步:如果程序正确,则会执行并显示运行结果
DANGER
有基础的同学,可能知道在源程序最后加 system("pause");
或 getchar();
之类的语句来暂停
特别声明,在作业中 不允许 使用这些方法 ,否则该题得分以0分计算
第 12 步:如果源程序有错误,则出现的对话框选择“否”,再根据编译时产生的错误提示信息修改源程序,再选择“调试”-“开始执行(不调试)”(第 10 步) ,反复多次直至程序正确运行为止
第 13 步:一个程序完成后,“文件”-“关闭解决方案”,或右上角 x 关闭
目录结构说明
若:
则:
- 打开
D:\
文件夹,可以看到homework
文件夹 - 打开
D:\homework
文件夹,可以看到helloworld
和Debug
文件夹 - 打开
D:\homework\helloworld
文件夹,可以看到helloworld.cpp
- 打开
D:\homework\Debug
文件夹,可以看到helloworld.exe
问:如何编写并调试一个程序?
通过步骤 1-13,可以完成一个程序的编写及调试。
问:如何编写并调试下一个程序?
方法 1 - 再次重复步骤 1-13,可以继续完成下一个程序的编写及调试
注:这种方法,每个解决方案仅包含一个项目,不方便,也不推荐!!!
方法 2 - 在已有的解决方案中建立一个新的项目
在已有解决方案中新建项目
第 1 步:启动VS2022,打开刚才的“homework”解决方案
- 方法 1:打开
D:\homework
文件夹,双击homework.sln
- 方法 2:启动VS2022,“打开最近使用的内容” 选
homework.sln
- 方法 3:“文件” - “最近使用的项目和解决方案” - 选择
homework.sln
- 方法 4:选择“打开文件”按钮,在出现的对话框中,找到
D:\homework
目录,选择homework.sln
,按“打开”
- 方法 5:“文件” - “打开” - “项目/解决方案”,出现的对话框中找到
D:\homework
目录,选择homework.sln
,按“打开”
第 2 步:在解决方案“homework”上按鼠标右键,菜单中选“添加” - “新建项目”
注意:不是“helloworld”项目的右键菜单!
第 3 步:出现的对话框中,选择“空项目”,按“下一步”,在出现的对话框中,输入项目名称,按“创建”后按“确定”
第 4 步:在同一解决方案的多个项目间切换“启动项目”
4-1:项目“myinfo”新建成功后,左侧解决方案资源管理器显示两个项目,其中粗体表示的为启动项目
说明:如果一个解决方案中有多个项目,则有且仅有一个“启动项目”,
按 “调试” - “开始执行(不调试)” / CTRL+F5 执行程序时,执行的是启动项目* **
4-2:在“myinfo”项目上按鼠标右键,菜单选“设为启动项目”
TIP
鼠标必须放在要设置的项目上!
4-3:左侧的“myinfo”变为粗体,表示启动项目已切换为“myinfo”
第 5~13 步:在 myinfo 项目中添加源程序并进行编辑、修改、编译、运行
(下述第 5~13 步,与 helloworld 项目的第 5~13 步相同,截图及详细说明略)
第 5 步:在项目“myinfo”的“源文件”上按鼠标右键,出现的菜单中选择“添加”-“新建项”
第 6 步:如果项目“helloworld”中已设置为“显示所有模版”,则直接进入第 7 步
第 7 步:出现的对话框中选择“C++文件”,在“名称”中输入C++源文件的名称 (按作业要求命名),按“添加”
第 8 步:在新添加的源程序文件中输入你的代码
第 9 步:确认右下角两个设置是否“SYS-简体中文(GB2312)”和“CRLF”
第 10 步:输入完成后,“调试”-“开始执行(不调试)” (推荐直接按 CTRL+F5 组合键)
第 11 步:如果程序正确,则会执行并显示运行结果
第 12 步:如果源程序有错误,则出现的对话框选择“否”,再根据编译时产生的错误提示信息修改源程序,再选择“调试”-“开始执行(不调试)” (第 10 步),反复多次直至程序正确运行为止
第 13 步:一个程序完成后,“文件”-“关闭解决方案”,或右上角 x 关闭
目录结构说明
若:
- “homework”解决方案,目录为
D:\homework
- “homework”解决方案中有“helloworld”和“myinfo”两个项目
- “helloworld”项目中建立的源文件为
helloworld.cpp
,“myinfo”项目中建立的源文件为myinfo.cpp
helloworld.cpp
和myinfo.cpp
分别被编译成可执行文件helloworld.exe
和myinfo.exe
则有: