## VisualStudio相关知识点 ### 1.工程创建 #### 1.1工程相关 ##### 1.1.1创建/打开项目 左上角选择文件,选择新建或打开项目。选择空文件,对项目进行命名并选择位置即可创建新项目。 image-20250708181230842 ##### 1.1.2加载/卸载项目 鼠标右键点击项目,选择卸载即可,同时点击以卸载项目可以进行重新加载。 ![image-20250708181507336](./Pictures/image-20250708181507336.png) ##### 1.1.3设置启动项 鼠标右键单击项目,选择设置启动项选项。 image-20250708181940421 #### 1.2解决方案相关 ##### 1.2.1添加项目 创建新项目时可以选择创建解决方案,同时提供合并选项,如合并,则项目文件与解决方案在同一文件夹内,同时提供添加到解决方案,则是将新项目添加至已有解决方案内。 image-20250708182202047 #### 1.3文件相关 ##### 1.3.1创建/打开文件 菜单文件栏选择新建文件,可以选择新建多个格式文件,同时也可以选择打开已有文件,方便后面编写程序,新建文件可添加至项目内。 image-20250708182447030 ##### 1.3.2包括/排除文件 包括文件即将文件添加至项目内,可以选择右键想要添加进的目录,选择添加文件,将想要添加进的文件选中,排除则是移除目录内文件。 image-20250708182747578 ### 2.工程配置 #### 2.1解决方案配置 解决方案配置可以鼠标右键解决方案一项,选择配置管理器打开,配置管理器提供了配置和平台, Debug是方便debug调试的,而Release是能优化程序运行。 image-20250709081251375 #### 2.2平台配置 平台配置的实质是 **开发环境基础 + 项目构建目标 + 运行时环境适配** 的三层统一 需要在属性页进行平台配置,选择硬件平台。 **简单的说,它们之间最直接的区别就是**:x86平台编译出来的exe(可执行文件)或dll(动态链接库)都是32位的。以此类推,x64对应的则是64位的。而Any CPU则是取决于当前的操作系统,若操作系统是32位的,则编译出来的程序就是32位的,反之编译出来的就是64位程序。 image-20250708184834282 #### 2.3项目类型配置 **项目类型配置**(Project Configuration)是指为**特定项目类型**设置的编译、生成和部署规则。它定义了项目在特定目标(如 `Debug` 或 `Release`)下的行为,是解决方案配置在单个项目上的具体实现。 项目类型配置可以选择右键项目属性,选择输出属性进行配置。 image-20250709081851839 #### 2.4路径配置 ##### 2.4.1输出路径配置 修改输出路径配置需要右键项目选择属性,在属性内进行输出目录的更改,即可进行输出路径配置。 image-20250709081951952 ##### 2.4.2头文件路径配置 属性页选择VC++页码,找到包含目录,可以对头文件路径进行配置。 image-20250709082233488 ##### 2.4.3源文件路径配置 属性页VC++,选择源目录进行设置。 ##### 2.4.4库文件路径配置 属性页VC++,选择库目录进行设置。 #### 2.5宏定义 视图-其他窗口-属性管理器,新建项目后,鼠标左键双击新建项目,选择用户宏,添加宏即可。 image-20250709083935947 #### 2.6运行库配置 右键项目名称,打开项目属性页,选择“配置属性”->“C/C++”->“代码生成”->“运行库”。 | **选项** | **链接方式** | **依赖项** | **程序体积** | **调试信息** | **适用场景** | | -------- | ------------ | ------------------------ | ------------ | ------------ | -------------------------- | | /MT | 静态链接 | 无(独立部署) | 较大 | 无 | 独立应用、嵌入式系统 | | /MTd | 静态链接 | 无(包含调试符号) | 最大 | 有 | 调试独立应用 | | /MD | 动态链接 | msvcrt.dll(或更高版本) | 较小 | 无 | 常规应用程序(共享运行库) | | /MDd | 动态链接 | msvcrtd.dll(调试版) | 中等 | 有 | 调试依赖 DLL 的应用程序 | image-20250709084116006 #### 2.7调用库配置 首先选择头文件和库目录进行配置,将需要调用的头文件的路径添加进来,添加完之后选择链接器-输入-附加依赖项包含lib文件名称即可对动态库进行调用。 image-20250709084423970 #### 2.8安全检查 属性页面找到VC++,选择代码生成,找到安全检查即可进行开启关闭。 Visual Studio的安全检查主要用于**检测代码中的潜在漏洞**(如缓冲区溢出、注入攻击),通过静态分析和运行时防护**强制安全编码规范**,预防恶意攻击,确保软件安全。 image-20250709084712506 ### 3.工程调试 #### 3.1断点 ##### 3.1.1断点创建 单击代码行最左边的边距。 你还可以选择行并按“F9”,选择“调试”“切换断点”,或者右键单击并选择“断点”“插入断点”。>> 断点显示为左边距中的红点。 image-20250709084815273 ##### 3.1.2断点删除 对断点进行鼠标左键单击即可取消断点。 image-20250709084906233 ##### 3.1.3断点禁用 若要禁用断点而不删除断点,请将鼠标悬停或右键单击它,然后选择 **禁用断点**。 禁用的断点在左边距或“断点”窗口中显示为空心圆点。 image-20250709084932936 ##### 3.1.4断点启用 右键禁用断点,选择启用断电即可。 image-20250709084958219 ##### 3.1.5条件断点 右键断点,选择条件,添加条件即可使用条件断点。 image-20250709085027828 #### 3.2窗口 ##### 3.2.1监视窗口 选择“调试”>“窗口”>“监视”>“监视 1”,或按 Ctrl+Alt+W>1 打开“监视”窗口 。(只能在调试功能下运行) image-20250709085216327 ##### 3.2.2内存窗口 在“**调试**>**窗口**>**内存**下,选择”**内存 1**“、”**内存 2**“、”**内存 3**“或”**内存 4**”。 image-20250709085409071 ##### 3.2.3线程窗口 在“**调试**>**窗口**>**线程**下。 image-20250709085443868 ##### 3.2.4调用堆栈窗口 在“**调试**>**窗口**>**调用堆栈**下。 image-20250709085527148 #### 3.3单步调试 ##### 3.3.1全速运行 F5快捷键,或选择上方的三角形按钮进行全速运行。 image-20250709090027237 ##### 3.3.2重新运行 上方菜单栏找到重新启动按钮即可。 image-20250709090037410 ##### 3.3.3逐过程 快捷键F11,可选择上方菜单栏的逐过程调试。 image-20250709090040709 ##### 3.3.4逐语句 快捷键F11,可选择上方菜单栏的逐语句调试。 image-20250709090044198