【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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/45773.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

土壤品质检测仪:守护大地之母的科技卫士

土壤&#xff0c;作为地球生命之源&#xff0c;承载着万物的生长与繁衍。然而&#xff0c;随着现代农业的快速发展&#xff0c;土壤品质问题日益凸显&#xff0c;对农作物的生长和人们的健康构成了潜在威胁。 随着环保意识的增强和农业可持续发展的需求&#xff0c;土壤品质检测…

实验8 视图创建与管理实验

一、实验目的 理解视图的概念。掌握创建、更改、删除视图的方法。掌握使用视图来访问数据的方法。 二、实验内容 在job数据库中&#xff0c;有聘任人员信息表&#xff1a;Work_lnfo表&#xff0c;其表结构如下表所示&#xff1a; 其中表中练习数据如下&#xff1a; 1.‘张明…

中霖教育:2024年中级经济师备考还来得及吗?

【中霖教育怎么样】【中霖教育口碑】 2024年的中级经济师考试还未开始报名&#xff0c;考试时间在11月16日-11月17日进行&#xff0c;考生目前距离考试还有半年的准备时间。不同的考生人群针对性的复习方法不同&#xff0c;以下内容可以作为大家的参考。 1、零基础考生&#…

Python类与对象02:继承

1、什么是继承 上一节中我们介绍了类与对象的用法。类可以看作是一种程序内的设计图纸&#xff0c;而对象则是基于这个图纸制造出来的实体。这个过程类似于现实中的设计表格和填写表格。 现在假设你是一名设计师&#xff0c;需要迭代一款新产品。你有两个选择&#xff1a; 在…

我的六天C++外出学习记

第一天 7月7日 星期日 早晨&#xff0c;我早早起来了&#xff0c;穿好衣服吃完饭就出发了。 我从家到学校用了1H&#xff0c;迟到了&#xff01;我急急忙忙去报到。 我们中午和晚上的饭菜虽说有点贵&#xff0c;但实在太美味了&#xff0c;和我们原本初中的饭菜相比&#…

手机怎么用代理ip上网

在数字化时代&#xff0c;网络已经成为我们生活中不可或缺的一部分。然而&#xff0c;有时候出于安全、隐私或访问特定网络资源的需要&#xff0c;我们可能需要使用代理IP来上网。那么&#xff0c;什么是代理IP&#xff1f;如何在手机上设置并使用它呢&#xff1f;本文将为您详…

AI绘画,Stable Diffusion姓氏头像副业拆解,操作简单,小白也能轻松上手!

前言 嗨&#xff0c;我是月月。 说时候&#xff0c;现在副业项目层出不穷&#xff0c;但要找到一个操作简单、收益可观且具有长期潜力的项目并不容易。 今天&#xff0c;我为大家推荐一个当下非常火爆的副业项目——AI定制百家姓氏头像。这不仅是一个热门项目&#xff0c;更…

云动态摘要 2024-07-12

给您带来云厂商的最新动态,最新产品资讯和最新优惠更新。 最新优惠与活动 数据库上云优选 阿里云 2024-07-04 RDS、PolarDB、Redis、MongoDB 全系产品新用户低至首年6折起! [免费体验]智能助手ChatBI上线 腾讯云 2024-07-02 基于混元大模型打造,可通过对话方式生成可视化…

Vue3 markRaw的使用

markRaw 作用:将一个对象标记为不可以被转化为代理对象。返回该对象本身。 应用场景: 1.有些值不应被设置成响应式时,例如复杂的第三方类库等 2.当渲染具有不可变数据源的大列表时,跳过响应式转换可以提高性能 3.在动态渲染组件的时候我们就可以使用 markRaw 包裹。markRaw 的…

Chromium实用技巧篇-如何下载指定版本的Chromium(一)

1. 引言 随着互联网技术的不断发展&#xff0c;网络浏览器已经成为我们日常生活中不可或缺的一部分。作为一款开源浏览器项目&#xff0c;Chromium不仅为Google Chrome提供了坚实的基础&#xff0c;也为其他许多浏览器提供了技术支持。如果您希望体验最前沿的浏览器功能或参与开…

一个很变态但是有用的变现手段:用AI技术搞电商模特图,接单接到手软~

前言 今天带大家拆解一个特别有趣的项目&#xff0c;必须得跟大家分享一下&#xff1a;用AI技术搞电商模特图。 是不是感觉挺科幻的&#xff1f;但这真不是科幻小说里的情节&#xff0c;而是咱们现实生活中已经实现的事情。 想想看&#xff0c;咱们平常在网上看到的那些漂亮…

网络基础知识--网络硬件设备介绍(含eNSP模拟器命令使用)

华为 eNSP 模拟器安装教程可参考&#xff1a;华为 eNSP 模拟器安装教程&#xff08;内含下载地址&#xff09;_ensp下载-CSDN博客 华为eNSP&#xff08;Enterprise Network Simulation Platform&#xff09;模拟器是一款由华为提供的免费网络仿真平台&#xff0c;主要用于模拟和…

虚拟机vmware网络设置

一、网络分类 打开vmware workstation网络编辑器可以知道有三种网络类型&#xff0c;分别是&#xff1a;桥接模式、nat模式、仅主机模式。 1、桥接模式 桥接模式是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在桥接的作用下, 类似于把物理主机虚拟为一个交换机, 所有设…

【Wamp】局域网设备访问WampServer | 使用域名访问Wamp | Wamp配置HTTPS

局域网设备访问WampServer 参考&#xff1a;https://www.jianshu.com/p/d431a845e5cb 修改Apache的httpd.conf文件 D:\Academic\Wamp\program\bin\apache\apache2.4.54.2\conf\httpd.conf 搜索 Require local 和Require all denied&#xff0c;改为Require all granted <…

分布式系统中雪花ID的使用及前后台精度解决

本文介绍了雪花ID的应用场景&#xff0c;以及针对雪花id生成精度过大导致数据缺失的解决方案。 一、概念 雪花 ID是一种分布式 ID 生成策略&#xff0c;保证全局唯一&#xff0c;位数组成中含有时间戳&#xff0c;相比UUID,故也能保证自增。 二、应用场景 分库、分表、分片、…

【windows OBS开启直播】Windows搭建RTMP视频流服务(Nginx服务器版)

如果您想在windows 电脑上设置RTMP服务器&#xff0c;并使用VLC播放器播放OBS的直播流&#xff0c;您可以使用一个本地的RTMP服务器软件&#xff0c;如nginx配合nginx-rtmp-module来搭建。下面 详细介绍下如何搭建此视频流服务。 1、安装和配置本地RTMP服务器 步骤1&#xff…

ST Smart Things Sentinel:一款针对复杂IoT协议的威胁检测工具

关于ST Smart Things Sentinel ST Smart Things Sentinel&#xff0c;简称ST&#xff0c;是一款功能强大的安全工具&#xff0c;广大研究人员可以使用该工具检测物联网 (IoT) 设备使用的复杂协议中的安全威胁。 在不断发展的联网设备领域&#xff0c;ST Smart Things Sentinel…

matlab入门学习

一、什么是matlab MATLAB&#xff08;matrix laboratory矩阵实验室&#xff09;是一款商用数学软件&#xff0c;主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。可用于数据分析、深度学习、图像处理与计算机视觉、量化金融与风险管理等领域。 二、matlab和pyt…

WEB07Vue+Ajax

1. Vue概述 Vue&#xff08;读音 /vjuː/, 类似于 view&#xff09;&#xff0c;是一款用于构建用户界面的渐进式的JavaScript框架&#xff08;官方网站&#xff1a;https://cn.vuejs.org&#xff09;。 在上面的这句话中呢&#xff0c;出现了三个词&#xff0c;分别是&#x…

宝兰德参编金融智能体标准,深耕大模型场景化落地

随着数智化浪潮的不断推进&#xff0c;人工智能技术正深刻影响着金融服务的模式和流程&#xff0c;金融智能体在大模型的加持下&#xff0c;业务场景的应用能力得到强化。然而&#xff0c;作为新型技术&#xff0c;金融智能体在隐私保护、透明性、数据泄露等方面仍存在诸多风险…