Skip to content

用 VS2022 编译 C++ 程序

目录

IMPORTANT

认真阅读!!!

注意事项

基本知识

  • 项目:完成一个特定功能的所有源程序组成一个项目(简单来说,一道作业题一个项目)
    • 源程序文件:完成程序特定功能的代码,一个项目允许有多个源程序文件(最开始几周,一个项目一个源程序文件)。C 语言源程序文件后缀名通常为 .c,C++源程序文件后缀名通常为 .cpp
    • 头文件:源程序文件中有特殊用途的一种,通常无后缀名或以 .h 为后缀名,具体在第 4 章会接触到
    • 可执行文件:由源程序文件编译得到,可以直接在计算机中运行的程序(*.exe)。一个项目最多只会生成一个可执行文件
  • 解决方案:VS2022 提供的可同时管理多个项目的集成环境(有效使用解决方案,能极大提高效率)

编写程序步骤概览

  1. 创建新项目(第一次创建新项目会同步建立一个解决方案)
  2. 在项目中建立新的源程序文件 (*.cpp/*.c)
  3. 对源程序文件 (*.cpp) 进行编译,若成功则生成编译结果文件 (*.obj)
    • 检查语法错误,错误分 致命错误(error)警告错误(warning)
    • error 会导致编译失败,warning 不影响编译,但意味着编译器认为程序很可能有错或写得不好
    • warning 只在源程序改动后的 第一次编译时出现,之后不再出现
    • VS2022 下 warning 有两种:常规 warning 及智能提示 warning,只需要解决常规 warning 即可,具体识别及处理 另行下发文档
  4. 对编译结果文件 (*.obj) 进行链接,检查链接过程中的错误,形成可执行程序文件 (*.exe)
  5. 运行可执行程序文件 (*.exe) ,检查其中的逻辑错误,验证程序正确性
    • 编译执行过程中会产生很多临时文件 (交作业时只有*.c/*.cpp是需要的)

新建项目并新建解决方案

第 1 步:启动VS2022

方法 1:选择“创建新项目”

01

方法 2:选择“继续但无需代码”后进入主界面,按“新建项目”按钮 (直接按“Ctrl+Shift+N”也可)

02

方法 3:选择“继续但无需代码”后进入主界面, 菜单-“文件”-“新建”-“项目” (直接按“Ctrl+Shift+N”也可)

03

第 2 步:出现的对话框中,选择“空项目”,按“下一步” (不要瞎选)

04

第 3 步:出现的对话框中,“项目名称”、“位置”、“解决方案名称”等按需修改,最后按“创建”

05

第 4 步:项目/解决方法新建成功后,出现如下界面 (一定要改为Debug/x86)

06

注:因为上一步设置的“项目名”和“解决方案名”不同,界面上显示不同,请注意观察

第 5 步:在项目“helloworld”的“源文件”上按鼠标右键,出现的菜单中选择“添加”-“新建项”

07

第 6 步:在出现的“添加新项”对话框(简版)中选择“显示所有模版”(课程后期需添加其他类型文件,因此进行设置)

08

第 7 步:出现的对话框中选择“C++ 文件(.cpp)”,在“名称”中输入 C++ 源文件的名称 (按作业要求命名),按“添加”

09

第 8 步:在新添加的源程序文件中输入你的代码

10

cpp
#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),则这里可能无法正确选择,可以参考 教程 修改设置,或自行解决编码问题。

11

第 10 步:输入完成后,“调试”-“开始执行(不调试)” (推荐直接按 CTRL+F5 组合键)

12

第 11 步:如果程序正确,则会执行并显示运行结果

13

DANGER

有基础的同学,可能知道在源程序最后加 system("pause");getchar(); 之类的语句来暂停

特别声明,在作业中 不允许 使用这些方法 ,否则该题得分以0分计算

第 12 步:如果源程序有错误,则出现的对话框选择“否”,再根据编译时产生的错误提示信息修改源程序,再选择“调试”-“开始执行(不调试)”(第 10 步) ,反复多次直至程序正确运行为止

14

第 13 步:一个程序完成后,“文件”-“关闭解决方案”,或右上角 x 关闭

15

目录结构说明

若:

  • 文档 第 3 步 中名称、位置、解决方案名称三者的设置分别是 helloworldD:\homework
  • 文档 第 7 步 新建的源文件为 helloworld.cpp

16

17

则:

  • 打开 D:\ 文件夹,可以看到 homework 文件夹
  • 打开 D:\homework 文件夹,可以看到 helloworldDebug 文件夹
  • 打开 D:\homework\helloworld 文件夹,可以看到 helloworld.cpp
  • 打开 D:\homework\Debug 文件夹,可以看到 helloworld.exe

18

问:如何编写并调试一个程序?

通过步骤 1-13,可以完成一个程序的编写及调试。

问:如何编写并调试下一个程序?

在已有解决方案中新建项目

第 1 步:启动VS2022,打开刚才的“homework”解决方案

  • 方法 1:打开 D:\homework 文件夹,双击 homework.sln

19

  • 方法 2:启动VS2022,“打开最近使用的内容” 选 homework.sln

20

  • 方法 3:“文件” - “最近使用的项目和解决方案” - 选择 homework.sln

21

  • 方法 4:选择“打开文件”按钮,在出现的对话框中,找到 D:\homework 目录,选择 homework.sln ,按“打开”

22

  • 方法 5:“文件” - “打开” - “项目/解决方案”,出现的对话框中找到 D:\homework 目录,选择 homework.sln ,按“打开”

23

第 2 步:在解决方案“homework”上按鼠标右键,菜单中选“添加” - “新建项目”

注意:不是“helloworld”项目的右键菜单!

24

第 3 步:出现的对话框中,选择“空项目”,按“下一步”,在出现的对话框中,输入项目名称,按“创建”后按“确定”

25

第 4 步:在同一解决方案的多个项目间切换“启动项目”

4-1:项目“myinfo”新建成功后,左侧解决方案资源管理器显示两个项目,其中粗体表示的为启动项目

说明:如果一个解决方案中有多个项目,则有且仅有一个“启动项目”,

按 “调试” - “开始执行(不调试)” / CTRL+F5 执行程序时,执行的是启动项目* **

26

4-2:在“myinfo”项目上按鼠标右键,菜单选“设为启动项目”

TIP

鼠标必须放在要设置的项目上!

27

4-3:左侧的“myinfo”变为粗体,表示启动项目已切换为“myinfo”

28

第 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.cppmyinfo.cpp 分别被编译成可执行文件 helloworld.exemyinfo.exe

则有:

29