## VisualStudio相关知识点



### 1.工程创建

#### 1.1工程相关

##### 1.1.1创建/打开项目

左上角选择文件，选择新建或打开项目。选择空文件，对项目进行命名并选择位置即可创建新项目。

<img src=".\Pictures\image-20250708181230842.png" alt="image-20250708181230842" style="zoom: 33%;" />

##### 1.1.2加载/卸载项目

鼠标右键点击项目，选择卸载即可，同时点击以卸载项目可以进行重新加载。

![image-20250708181507336](./Pictures/image-20250708181507336.png)

##### 1.1.3设置启动项

鼠标右键单击项目，选择设置启动项选项。

<img src="./Pictures/image-20250708181940421.png" alt="image-20250708181940421" style="zoom:50%;" />

#### 1.2解决方案相关

##### 1.2.1添加项目

创建新项目时可以选择创建解决方案，同时提供合并选项，如合并，则项目文件与解决方案在同一文件夹内，同时提供添加到解决方案，则是将新项目添加至已有解决方案内。

<img src="./Pictures/image-20250708182202047.png" alt="image-20250708182202047" style="zoom:50%;" />

#### 1.3文件相关

##### 1.3.1创建/打开文件

菜单文件栏选择新建文件，可以选择新建多个格式文件，同时也可以选择打开已有文件，方便后面编写程序，新建文件可添加至项目内。

<img src="./Pictures/image-20250708182447030.png" alt="image-20250708182447030" style="zoom:50%;" />

##### 1.3.2包括/排除文件

包括文件即将文件添加至项目内，可以选择右键想要添加进的目录，选择添加文件，将想要添加进的文件选中，排除则是移除目录内文件。

<img src="./Pictures/image-20250708182747578.png" alt="image-20250708182747578" style="zoom:50%;" />

### 2.工程配置

#### 2.1解决方案配置

解决方案配置可以鼠标右键解决方案一项，选择配置管理器打开，配置管理器提供了配置和平台， Debug是方便debug调试的，而Release是能优化程序运行。

<img src="./Pictures/image-20250709081251375.png" alt="image-20250709081251375" style="zoom:50%;" />

#### 2.2平台配置

平台配置的实质是 **开发环境基础 + 项目构建目标 + 运行时环境适配** 的三层统一

需要在属性页进行平台配置，选择硬件平台。

**简单的说，它们之间最直接的区别就是**：x86平台编译出来的exe(可执行文件)或dll(动态链接库)都是32位的。以此类推，x64对应的则是64位的。而Any CPU则是取决于当前的操作系统，若操作系统是32位的，则编译出来的程序就是32位的，反之编译出来的就是64位程序。

<img src="./Pictures/image-20250708184834282.png" alt="image-20250708184834282" style="zoom:50%;" />

#### 2.3项目类型配置

**项目类型配置**（Project Configuration）是指为**特定项目类型**设置的编译、生成和部署规则。它定义了项目在特定目标（如 `Debug` 或 `Release`）下的行为，是解决方案配置在单个项目上的具体实现。

项目类型配置可以选择右键项目属性，选择输出属性进行配置。

<img src="./Pictures/image-20250709081851839.png" alt="image-20250709081851839" style="zoom:50%;" />

#### 2.4路径配置

##### 2.4.1输出路径配置

修改输出路径配置需要右键项目选择属性，在属性内进行输出目录的更改，即可进行输出路径配置。

<img src="./Pictures/image-20250709081951952.png" alt="image-20250709081951952" style="zoom:50%;" />

##### 2.4.2头文件路径配置

属性页选择VC++页码，找到包含目录，可以对头文件路径进行配置。

<img src="./Pictures/image-20250709082233488.png" alt="image-20250709082233488" style="zoom:50%;" />

##### 2.4.3源文件路径配置

属性页VC++，选择源目录进行设置。

##### 2.4.4库文件路径配置

属性页VC++，选择库目录进行设置。

#### 2.5宏定义

视图-其他窗口-属性管理器，新建项目后，鼠标左键双击新建项目，选择用户宏，添加宏即可。

<img src="./Pictures/image-20250709083935947.png" alt="image-20250709083935947" style="zoom:50%;" />

#### 2.6运行库配置

右键项目名称，打开项目属性页，选择“配置属性”->“C/C++”->“代码生成”->“运行库”。

<img src="./Pictures/image-20250709084116006.png" alt="image-20250709084116006" style="zoom:50%;" />

#### 2.7调用库配置

首先选择头文件和库目录进行配置，将需要调用的头文件的路径添加进来，添加完之后选择链接器-输入-附加依赖项包含lib文件名称即可对动态库进行调用。

<img src="./Pictures/image-20250709084423970.png" alt="image-20250709084423970" style="zoom:50%;" />

#### 2.8安全检查

属性页面找到VC++，选择代码生成，找到安全检查即可进行开启关闭。

Visual Studio的安全检查主要用于**检测代码中的潜在漏洞**（如缓冲区溢出、注入攻击），通过静态分析和运行时防护**强制安全编码规范**，预防恶意攻击，确保软件安全。

<img src="./Pictures/image-20250709084712506.png" alt="image-20250709084712506" style="zoom:50%;" />

### 3.工程调试

#### 3.1断点

##### 3.1.1断点创建

单击代码行最左边的边距。 你还可以选择行并按“F9”，选择“调试”“切换断点”，或者右键单击并选择“断点”“插入断点”。>> 断点显示为左边距中的红点。

<img src="./Pictures/image-20250709084815273.png" alt="image-20250709084815273" style="zoom: 50%;" />

##### 3.1.2断点删除

对断点进行鼠标左键单击即可取消断点。

<img src="./Pictures/image-20250709084906233.png" alt="image-20250709084906233" style="zoom:50%;" />

##### 3.1.3断点禁用

若要禁用断点而不删除断点，请将鼠标悬停或右键单击它，然后选择 **禁用断点**。 禁用的断点在左边距或“断点”窗口中显示为空心圆点。

<img src="./Pictures/image-20250709084932936.png" alt="image-20250709084932936" style="zoom:67%;" />

##### 3.1.4断点启用

右键禁用断点，选择启用断电即可。

<img src="./Pictures/image-20250709084958219.png" alt="image-20250709084958219" style="zoom:67%;" />

##### 3.1.5条件断点

右键断点，选择条件，添加条件即可使用条件断点。

<img src="./Pictures/image-20250709085027828.png" alt="image-20250709085027828" style="zoom:50%;" />

#### 3.2窗口

##### 3.2.1监视窗口

选择“调试”>“窗口”>“监视”>“监视 1”，或按 Ctrl+Alt+W>1 打开“监视”窗口 。（只能在调试功能下运行）

<img src="./Pictures/image-20250709085216327.png" alt="image-20250709085216327" style="zoom:50%;" />

##### 3.2.2内存窗口

在“**调试**>**窗口**>**内存**下，选择”**内存 1**“、”**内存 2**“、”**内存 3**“或”**内存 4**”。

<img src="./Pictures/image-20250709085409071.png" alt="image-20250709085409071" style="zoom:50%;" />

##### 3.2.3线程窗口

在“**调试**>**窗口**>**线程**下。

<img src="./Pictures/image-20250709085443868.png" alt="image-20250709085443868" style="zoom:50%;" />

##### 3.2.4调用堆栈窗口

在“**调试**>**窗口**>**调用堆栈**下。

<img src="./Pictures/image-20250709085527148.png" alt="image-20250709085527148" style="zoom:50%;" />

#### 3.3单步调试

##### 3.3.1全速运行

F5快捷键，或选择上方的三角形按钮进行全速运行。

<img src="./Pictures/image-20250709090027237.png" alt="image-20250709090027237" style="zoom:50%;" />

##### 3.3.2重新运行

上方菜单栏找到重新启动按钮即可。

<img src="./Pictures/image-20250709090037410.png" alt="image-20250709090037410" style="zoom:50%;" />

##### 3.3.3逐过程

快捷键F11，可选择上方菜单栏的逐过程调试。

<img src="./Pictures/image-20250709090040709.png" alt="image-20250709090040709" style="zoom:50%;" />

##### 3.3.4逐语句

快捷键F11，可选择上方菜单栏的逐语句调试。

<img src="./Pictures/image-20250709090044198.png" alt="image-20250709090044198" style="zoom:50%;" />