让std::cout输出的调试信息显示在黑窗控制台

qq_65364446 2025-01-20 17:15:54

我正在使用VS 2022修改一个用c++代码写成的大型项目。代码最终在运行后会生成一个.exe文件,点击exe就可以打开gui界面的软件进行操作了。


我之前已经使用 cmake 和 VS 成功使得代码可以在本地运行。
出于需要,我是用release模式进行修改代码和调试的。

我的问题:
1. 为什么 生成一个.exe文件的c++代码 在运行后 是自行生成.exe文件,并且不显示黑窗控制台?有 cout 的代码不是都是显示黑窗控制台吗?(能不能讲讲原理,我不想听 像是 “生成exe后代码就结束了”之类的话)
2. 我需要使用std::cout进行调试信息的输出,怎么才能够让std::cout输出的调试信息显示在黑窗控制台?(我知道可以重定向cout的输出到自己创建的.log,但是我需要让std::cout输出的调试信息显示在黑窗控制台)

...全文
292 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 01-20
精选
  • 打赏
  • 举报
回复

项目类型可以是
Windows桌面应用程序(默认用GUI窗口交互)
Windows控制台应用程序(默认用cmd黑窗交互)
可以使用一些技巧,让Windows桌面应用程序项目也支持用cmd黑窗交互:
https://yukwan.cn/2024/02/02/24fabed33a33/

  • 举报
回复
@赵4老师 感谢,很有用啊
  • 举报
回复
@赵4老师 你好行啊!你像是一个ai,什么都懂
forever74 02-07
  • 举报
回复
@qq_65364446 咱不带这么样夸人的,好歹用个比人类高级一些的东西来打比方啊。
1条回复
Eleven 02-08
  • 打赏
  • 举报
回复

你可以利用AllocConsole/FreeConsole关联一个控制台窗口,然后就可以使用_tprintf()/std::cout之类的来输出调试信息了。

  • 举报
回复
@Eleven 感谢

65,170

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧