您当前的位置: 首页 > 
  • 4浏览

    0关注

    478博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

VisualStudio2019无法正常使用printf或std::cout(卡死)的解决办法

高精度计算机视觉 发布时间:2022-06-20 11:15:37 ,浏览量:4

相信很多人碰到过这个问题,就是在使用vs2019时,即使是一个非常简单的程序,如,

#include 

int main( int argc, char* args[] ) {
    printf("Testing");
    return 0;
}

在 Debug模式(调试状态)下,也会出现程序卡死在printf的情况。

针对这种情况,网上有很多说法,例如,

visual c++ - Printf is not printing anything to output? C++ SDL - Stack Overflowhttps://stackoverflow.com/questions/11068565/printf-is-not-printing-anything-to-output-c-sdl这 里的办法有添加各种预定义,或者设置程序的属性为Console(链接--系统--SUBSYSEM:CONSOLE)等等。

然而查找一番后,发现这些貌似都不是问题的根本原因;

我的解决办法是这样的,

(1)找到解决方案所在的文件夹,你会发现里面有个名字叫做".vs"的隐藏文件;

(2)关闭你的VS2019,然后删除这个文件夹;

(3)然后再启动VS2019,重新编译调试

问题解决。

这个问题的根本原因,是因为项目在调试过程中,由于一些不知名的原因,vs2019为了兼容传统c语言和c++库,生成了一些不必要的跳转指令,也可能是为了调试之类的原因吧。这些指令使VS2019不能正确链接到相应的函数。这本身是VS2019的一个BUG,因为各种库之间的复杂关系,目前可能没有好办法可以回避。

本文结束。

关注
打赏
1659856567
查看更多评论
立即登录/注册

微信扫码登录

0.0474s