【Visual Studio】Visual Studio使用技巧及报错解决合集
目录
目录
一.概述
二.Visual Studio报错问题及解决方法
三.Visual Studio操作过程中遇到的问题及解决方法
四.Visual Studio编译优化选项
五.Visual Studio快捷键
一.概述
持续更新Visual Studio报错及解决方法,包括Visual Studio报错问题及解决方法、Visual Studio操作过程中遇到的问题及解决方法、Visual Studio编译优化选项、Visual Studio快捷键等内容
二.Visual Studio报错问题及解决方法
Visual Studio报错:error LNK2001
问题 : error LNK2001无法解析的外部符号
方法 : 检查类中的静态变量,是否在类外定义或初始化
Visual Studio报错:error C2061
问题:error C2061:“xxx”:本地函数定义是非法的
方法 :
1.一般这种情况会伴随着该文件有乱码出现,需要将编码方式修改为utf-8。
2.或者检查大括号是否匹配,可能存在丢失大括号的问题。
Visual Studio报错:error C1075
问题:error C1075:与左侧的大括号“{”匹配之前遇到文件结束
方法 :
1.首先检查大括号是否缺失
2.如果不存在大括号缺失的情况,同时编译警告⚠出现这样一句提示:
warning C4819:该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为Unicode格式以防止数据丢失
通常还会伴随error C2061错误,本地函数定义是非法的。
这时候的问题出现在文件编码上,可以看一下注释中的汉字是否乱码,调整编码为utf-8,或者对应正常显示中文的GBK编码就可以通过编译。
Visual Studio报错:error C4430
问题:报错内容error C4430
方法 : 属性->C/C++->高级->禁用特定警告,输入4430
Visual Studio报错error C3867
问题:
#include <iostream>
#include <typeinfo>
…
std::cout<<typeid(a).name<<std::endl;
执行以上语句报错error C3867:…
方法 : 方法调用加一个括号,使用typeid(a).name()
Visual Studio报错error C2872
问题:error C2872 不明确符号
方法:
1.函数库未正确加载,使用using namespace std;等
2.注意预处理器对宏的加载项,可以在vs-右键项目属性-C/C++-预处理器-预处理器定义,中把相应的宏补充进去
三.Visual Studio操作过程中遇到的问题及解决方法
Visual Studio如何显示行号
工具-->选项-->文本编辑器-->所有语言-->常规-->行号(勾选)
Visual Studio窗口中cout输出显示不全解决办法
问题:
如图,发现打印1000行,但是只显示了100行,前面的数据都看不到,有时候调试打印输出时需要看一下输出的结果,但是看不全。
方法:
右键输出黑框的头部标题栏,然后点击属性,在布局中,屏幕缓冲区大小,修改高度数值,可以修改成大一点的数字,这样cout就能显示完整了,同时还可以设置字体,包括字体样式,字体大小,还有颜色等。
四.Visual Studio编译优化选项
在Visual Studio中,编译优化选项是用于提高程序性能的重要工具。编译器提供了多种优化级别和选项,可以根据不同的需要进行选择。
在Visual Studio开发环境中,可以通过项目的属性页设置编译优化选项。选择“配置属性”>“C/C++”>“优化”属性页面,然后修改“优化”属性来启用或配置不同的优化选项。
以下是一些常见的编译优化选项:
/O1 和 /O2
-
/O1
选项优化速度,但不是所有优化都启用。 -
/O2
选项进一步优化速度,启用更多的优化选项,如内联函数、循环展开等。
/Ox
-
/Ox
是一种编译器选项,它启用了/O2
支持的速度优化选项的子集,但不包括/O1
或/O2
中的/GF
(消除重复字符串)和/Gy
(启用函数级链接)选项。
内联函数
-
使用
inline
关键字或编译器选项(如-finline-functions
)可以提示编译器内联函数,减少函数调用的开销。
虚函数优化
-
编译器选项
-fdevirtualize
尝试将虚函数调用转换为直接调用,以减少虚函数调用的开销。
代码重排
-
选项如
-freorder-blocks
和-freorder-functions
允许编译器重新排列代码块或函数,以提高代码的局部性和执行效率。
循环优化
-
编译器提供了多种循环优化选项,如
-floop-unroll-and-jam
(循环展开和合并)和-floop-parallelize-all
(循环并行化)。
链接时间优化
-
使用
/GL
(全程序优化)编译器选项和/LTCG
(链接时间代码生成)链接器选项可以在链接时进行进一步的优化。
代码分割
-
使用
-ffunction-sections
和-fdata-sections
可以将代码和数据分割到不同的段中,有助于减少内存占用和提高加载效率。
数学优化
-
选项如
-ffast-math
允许编译器使用更快但可能不够精确的数学运算。
其他优化选项
-
还有许多其他优化选项,如
-funroll-loops
(循环展开)、-finline-limit
(内联函数大小限制)等,可以根据具体情况选择使用。
五.Visual Studio快捷键
-
文件操作:
- 新建文件:Ctrl + N 10
- 打开文件:Ctrl + O 101213
- 保存所有:Ctrl + Shift + S 11
-
编辑操作:
- 注释选定内容:Ctrl + K, Ctrl + C 1015
- 取消注释选定内容:Ctrl + K, Ctrl + U 1015
- 复制:Ctrl + C
- 剪切:Ctrl + X
- 粘贴:Ctrl + V
-
代码导航:
- 转到定义:F12 1213
- 查找所有引用:Shift + F12 11
- 列出成员:Ctrl + J 或 Alt + J 10
-
调试操作:
- 开始调试:F5 1015
- 逐语句执行:F11 15
- 逐过程执行:F10 15
- 停止调试:Shift + F5 1115
- 设置或删除断点:F9 1115
-
视图操作:
- 解决方案资源管理器:Ctrl + Alt + L 11
- 属性窗口:F4 1012
-
代码生成:
- 生成解决方案:Ctrl + Shift + B 101115
- 重新生成解决方案或项目:Ctrl + E 10
-
窗口操作:
- 关闭当前文档:Ctrl + W 10
- 切换标题/代码文件:F4 10
-
其他:
- 格式化选定内容:Ctrl + K, Ctrl + F 10
- 删除一行:Ctrl + D 10
- 停止调试:Ctrl + Q 10
相关文章:

【Visual Studio】Visual Studio使用技巧及报错解决合集
目录 目录 一.概述 二.Visual Studio报错问题及解决方法 三.Visual Studio操作过程中遇到的问题及解决方法 四.Visual Studio编译优化选项 五.Visual Studio快捷键 一.概述 持续更新Visual Studio报错及解决方法,包括Visual Studio报错问题及解决方法、Visua…...

服务器数据恢复—raid5阵列热备盘同步失败导致lun不可用的数据恢复案例
服务器存储数据恢复环境: 华为S5300存储中有一组由16块FC硬盘组建的RAID5磁盘阵列(包含一块热备盘)。 服务器存储故障: 该存储中的RAID5阵列1块硬盘由于未知原因离线,热备盘上线并开始同步数据,数据同步到…...

算法题目整合
文章目录 121. 小红的区间翻转142. 两个字符串的最小 ASCII 删除总和143. 最长同值路径139.完美数140. 可爱串141. 好二叉树 121. 小红的区间翻转 小红拿到了两个长度为 n 的数组 a 和 b,她仅可以执行一次以下翻转操作:选择a数组中的一个区间[i, j]&…...

万界星空科技AI低代码平台:重塑数字化创新边界
在这个日新月异的数字化时代,技术的飞速发展正以前所未有的力量重塑着每一个行业。企业如何在瞬息万变的市场环境中保持竞争力,实现业务的快速迭代与创新? 重塑开发模式,加速数字化转型 传统软件开发周期长、成本高、门槛高&…...

iredmail服务器安装步骤详解!如何做配置?
iredmail服务器安全性设置指南?怎么升级邮件服务器? iredmail是一个功能强大的邮件服务器解决方案,它集成了多个开源软件,使您能够快速部署和管理邮件服务。AokSend将逐步引导您完成安装过程,无需深入的编程知识即可轻…...
【vue深入学习第1章】Vue.js 中的 Ajax 处理:vue-resource 库的深度解析
在现代前端开发中,Ajax 请求是与后端进行数据交互的关键技术。Vue.js 作为一个渐进式 JavaScript 框架,提供了多种方式来处理 Ajax 请求,其中 vue-resource 是一个较为常用的库。尽管 vue-resource 在 Vue 2.x 之后不再是官方推荐的 Ajax 处理…...

JDK新特性(Lambda表达式,Stream流)
Lambda表达式: Lambda 表达式背后的思想是函数式编程(Functional Programming)思想。在传统的面向对象编程中,程序主要由对象和对象之间的交互(方法调用)构成;而在函数式编程中,重点…...

【ARM】MDK-服务器与客户端不同网段内出现卡顿问题
【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 记录不同网段之间的请求发送情况以及MDK网络版license文件内设置的影响。 2、 问题场景 客户使用很久的MDK网络版,在获取授权时都会出现4-7秒的卡顿,无法对keil进行任何操作,彻底…...

c++树(一)定义,遍历
目录 树的定义 树的基本术语 树的初始起点:我们定义为根 树的层次: 树的定义: 树的性质 性质1: 性质2: 树形结构存储的两种思路 树的遍历模板 树上信息统计方式1-自顶向下统计 树上信息统计方式2-自底向上统…...

YOLOv5和LPRNet的车牌识别系统
车牌识别系统 YOLOv5和LPRNet的车牌识别系统结合了深度学习技术的先进车牌识别解决方案。该系统整合了YOLOv5目标检测框架和LPRNet文本识别模型 1. YOLOv5目标检测框架 YOLO是一种先进的目标检测算法,以其实时性能和高精度闻名。YOLOv5是在前几代基础上进行优化的…...

内容安全(深度行为检测技术、IPS、AV、入侵检测方法)
1、深度行为检测技术 深度行为检测技术:是一种基于深度学习和机器学习的技术,它通过分析用户在网络中的行为模式,识别异常或潜在威胁行为,从而保护网络安全和内容安全 分类: 深度包检测技术(Deep Packet…...

MySQL双主双从实现方式
双主双从(MM-SS) 前言 避免单一主服务器宕机,集群写入能力缺失 从 1 复制 主1 ,从 2 复制 主 2 主 1 复制 主 2,主 2 复制主 1 也就是 主 1 和主 2 互为主从。主1主2互为主从, 是为了以下情景,…...

pico+unity手柄和摄像机控制初级设置
1、摄像头配置 摄像头模式、floor是追踪原点类型(将根据设备检测到地面的高度来计算追踪原点), Device 模式时,为通常理解的 Eye 模式,不会将根据设备检测到地面的高度来计算追踪原点 选择floor时,修改相…...

vxe-grid 实现配置式form搜索条件 form搜索条件框可折叠 配置式table
文章目录 效果图代码 效果图 代码 <template><div class"app-container"><vxe-grid refxGrid v-bind"gridOptions" v-if"tableHeight" :height"tableHeight"><template #billDate"{ data }"><e…...
TS相较于JS有什么优缺点
TypeScript(TS)是JavaScript的一个超集,它添加了静态类型检查和编译时的强大功能,目的是提高代码质量和维护性。相较于JavaScript,TS的主要优点和缺点如下: 优点: 类型安全性:通过…...

【Harmony】SCU暑期实训鸿蒙开发学习日记Day2
目录 Git 参考文章 常用操作 ArkTS的网络编程 Http编程 发送请求 GET POST 处理响应 JSON数据解析 处理响应头 错误处理 Web组件 用生命周期钩子实现登录验证功能 思路 代码示例 解读 纯记录学习日记,杂乱,误点的师傅可以掉了…...

vue3前端开发-执行npm run dev提示报错怎么解决
vue3前端开发-执行npm run dev提示报错怎么解决!今天在本地安装初始化了一个vue3的案例demo。但是当我执行npm run dev想启动它时报错了说,找不到dev。让我检查package.json文件是否包含dev。如下图所示: 实际上,不必惊慌…...
https 单向认证和双向认证
单向认证 单向认证是客户端(通常是浏览器)验证服务器的身份。服务器向客户端提供数字证书,客户端通过验证该证书的真实性来确认与服务器的连接是安全的。 服务器提供证书:服务器向客户端提供一个数字证书,用于验证服务器的身份。客户端验证服务器:客户端验证服务器的证书…...
Python中Selenium 和 keyboard 库的使用
文章目录 一、Selenium基本使用2.等待元素加载常用操作 keyboard基本使用与 Selenium 联合使用 一、Selenium Selenium 是一个用于浏览器自动化的工具。它可以模拟用户与网页的交互,如点击按钮、填写表单、导航页面等。Selenium 支持多种编程语言,包括 …...

网络安全协议系列
目录 一、安全协议的引入 1.TCP/IP协议族中普通协议的安全缺陷 1.信息泄露 2.信息篡改 3.身份伪装 4.行为否认 2.网络安全需求 二、网络安全协议的定义 三、构建网络安全协议所需的组件 1.加密与解密 2.消息摘要 3.消息验证码 4.数字签名 5.密钥管理 1.建立共享…...

python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...

shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...

OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...

听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...

windows系统MySQL安装文档
概览:本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容,为学习者提供全面的操作指导。关键要点包括: 解压 :下载完成后解压压缩包,得到MySQL 8.…...
c# 局部函数 定义、功能与示例
C# 局部函数:定义、功能与示例 1. 定义与功能 局部函数(Local Function)是嵌套在另一个方法内部的私有方法,仅在包含它的方法内可见。 • 作用:封装仅用于当前方法的逻辑,避免污染类作用域,提升…...