【持续更新】vs 编译过程中的问题及其解决方案

独立寒秋,湘江北去,橘子洲头。

目录

问题 1 :

        无法查看或者打开 PDB 文件。

问题 2 :

        命令提示符中查看运行结果,控制台闪退。

问题 3 :

        某功能的判断条件:int val > 1e9,逻辑上没有问题,但是结果却所求不如愿?

问题 4 :

        IDE 报错,发生了 LoaderLock。

问题 5 :

        Cannot open include file: 'resource.h'。

问题 6 :

        error C3861: “memset”:  找不到标识符。

问题 7 :

        VS2022 以前可以正常运行,突然打不开 ?


问题 1 :

        无法查看或者打开 PDB 文件。

解决方案:

工具 >> 选项 >> 调试 >> 符号 >> Microsoft 符号服务器。

问题 2 :

        命令提示符中查看运行结果,控制台闪退。

解决方案(两种):

1)项目 >> 属性 >> 配置属性 >> 链接器 >> 系统 >> 子系统,然后点击 Ctrl+F5。

2)直接在 main() 中添加代码:system("pause");,点击 F5 或者 Ctrl+F5 都可以停留控制台。

问题 3 :

        某功能的判断条件:int val > 1e9,逻辑上没有问题,但是结果却所求不如愿?

解决方案:

逻辑上没问题的时候,换一种思路,1e9 属于大数值,观察变量的数据类型的取值范围是否符合要求。现实确实如此,int 类型的数值范围不如愿,定义 int64 或者 Long Long 类型即可。

  • UInt 类型的取值范围:0 ~ 4 294 967 295
  • Int 类型的取值范围:-2 147 483 647 ~ 2 147 483 647
  • Long Long 类型和 int64 类型的取值范围相同:-9 223 372 036 854 775 808 ~ 9 223 372 036 854 775 808

注:Qt 项目中,QString >>> int64 的转换代码:qint64 val = text.toLongLong(&ok);

问题 4 :

        IDE 报错,发生了 LoaderLock。

解决方案:

调试->异常->Managed Debuggin Assistants->LoaderLock(非选中状态)。

问题分析:

.NET2.0” 中增加了 42 种非常强大的调试助手 (MDA) ,LoaderLock 是其中之一。LoaderLock 检测在一个拥有操作系统 loader lock 的线程上运行托管代码的情况。这样做有可能会引起死锁,并且有可能在操作系统加载器初始化 DLL 前被使用。

问题 5 :

        Cannot open include file: 'resource.h'。

解决方案:

  • 在 vs 中创建的新项目通常会生成一个默认的 resource.h 文件,用于定义 .rc(资源配置)文件中使用的资源 ID。
  • 一般情况下不会找不到 resource.h 文件,但是,如果从 svn 上下载非本人的源码,可能会出现这个问题。
  • 具体方法:删除 .rc 资源文件,重新创建一个相同名称的 .rc 资源文件,即可解决问题。

问题 6 :

        error C3861: “memset”:  找不到标识符。

解决方案:

包含头文件 string.h 即可:

#include <string.h>;

注:memset 函数是计算机中 C / C++ 语言初始化函数。作用是将某一块内存中的内容全部设置为指定的值, 这个函数通常为新申请的内存做初始化工作。

问题 7 :

        VS2022 以前可以正常运行,突然打不开 ?

解决方案:

猜测原因:1)Window 系统更新导致的问题。2)vs2022 本身出现的问题。

具体方法:1)更新 Window 系统,或者还原上一版本的 Window 系统。2)使用 vs instller 修复。

本人所用方案:更新 Window 系统 + vs instller 修复 + 重启电脑。

注意:还原上一个版本的 Window 系统慎用、慎操作。

>>> 如有疑问,欢迎评论区一起探讨。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

您先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值