【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操作过程中遇到的问题及解决方法、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快捷键

  1. 文件操作

    • 新建文件:Ctrl + N 10
    • 打开文件:Ctrl + O 101213
    • 保存所有:Ctrl + Shift + S 11
  2. 编辑操作

    • 注释选定内容:Ctrl + K, Ctrl + C 1015
    • 取消注释选定内容:Ctrl + K, Ctrl + U 1015
    • 复制:Ctrl + C
    • 剪切:Ctrl + X
    • 粘贴:Ctrl + V
  3. 代码导航

    • 转到定义:F12 1213
    • 查找所有引用:Shift + F12 11
    • 列出成员:Ctrl + J 或 Alt + J 10
  4. 调试操作

    • 开始调试:F5 1015
    • 逐语句执行:F11 15
    • 逐过程执行:F10 15
    • 停止调试:Shift + F5 1115
    • 设置或删除断点:F9 1115
  5. 视图操作

    • 解决方案资源管理器:Ctrl + Alt + L 11
    • 属性窗口:F4 1012
  6. 代码生成

    • 生成解决方案:Ctrl + Shift + B 101115
    • 重新生成解决方案或项目:Ctrl + E 10
  7. 窗口操作

    • 关闭当前文档:Ctrl + W 10
    • 切换标题/代码文件:F4 10
  8. 其他

    • 格式化选定内容:Ctrl + K, Ctrl + F 10
    • 删除一行:Ctrl + D 10
    • 停止调试:Ctrl + Q 10
相关推荐
shuxianshrng10 分钟前
大气网格化精细化监管监测系统
大数据·服务器·windows·经验分享
晚睡早起₍˄·͈༝·͈˄*₎◞ ̑̑32 分钟前
苍穹外卖学习笔记(七)
java·windows·笔记·学习·mybatis
hzw051038 分钟前
Jupyter的使用
ide·python·jupyter
偷偷小野猪3 小时前
想要自动删除浏览器历史记录吗?这样设置就对了
windows·edge浏览器
棒棒糖的糖不含糖4 小时前
idea生成类信息及快捷开发配置
ide
孟章豪5 小时前
SQL Server Data Tools (SSDT)入门教程
visual studio
JANGHIGH5 小时前
VSCode值得推荐的插件(持续更新中)
ide·vscode·编辑器
Antonio9157 小时前
【CMake】使用CMake在Visual Studio内构建多文件夹工程
开发语言·c++·visual studio
小周的C语言学习笔记8 小时前
鹏哥C语言36-37---循环/分支语句练习(折半查找算法)
c语言·算法·visual studio
充值内卷8 小时前
WPF入门教学四 WPF控件概述
windows·ui·wpf