当前位置: 首页 > web >正文

mac下 vscode 运行 c++无法弹出窗口

  Configure C/C++ debugging

Mac 下,自带的C 编译器是 Clang 而不是 GCC,虽然在命令行中输入 gcc 是有反应的,但是实际上 gcc 被软连接到 clang 上了,所以实际上只有 Clang。Mac 的 Clang 是 Xcode Command Line Tools(CLT)的一部分,Xcode 和 CLT 和 Clang 的版本有着绑定关系,不知道能不能随意替换成自己构建的版本。

而 Clang 配套的调试器不是 gdb,而是 lldb,是 llvm 体系下的东西。而如果要换成 gdb 调试器,貌似要创建证书等复杂操作,比较麻烦。在vscode 中使用 lldb 存在限制:

vscode 官方文档提到:

macOS: When set to true, it will spawn an external console through lldb-mi. When set to false, the output can be seen in VS Code's debugConsole. Due to limitations within lldb-mi, integratedTerminal support is not available.
macOS :设置为 true 时,将通过 lldb-mi 生成外部控制台。设置为 false 时,可在 VS Code 的 debugConsole 中查看输出。由于 lldb-mi 本身的限制,集成终端 (integratedTerminal) 支持不可用。

也就是说,无论如何无法输出内容到集成终端,要么外部终端,要么输出在调试控制器,通过调整 launch.json 文件的"externalConsole": 来设置。

设置为 true 时,启动外部终端(即系统的 terminal 来输出内容)

设置为 false 时,只能在调试控制器输出内容。(注意,调试控制器貌似不能输入内容)。如图。

而此时终端只是显示:

生成已成功完成。
 *  终端将被任务重用,按任意键关闭。 

如果还是想输出东西在集成终端,要么手动在集成终端运行编译和运行的指令,要么使用 code runner 一键运行。但是想使用 vscode 的调试功能,那就没有办法了。

http://www.xdnf.cn/news/16337.html

相关文章:

  • 《C++初阶之STL》【vector容器:详解 + 实现】
  • 智能问答分类系统:基于SVM的用户意图识别
  • Android Paging 分页加载库详解与实践
  • 航段导航计算机 (Segment_Navigator) 设计与实现
  • 重构 MVC:让经典架构完美适配复杂智能系统的后端业务逻辑层(内附框架示例代码)
  • 【MacOS】发展历程
  • HTTP 请求方法有哪些?
  • 《基于电阻抗断层扫描(EIT)驱动的肌肉骨骼模型表征人体手臂动态意图用于人机交互》论文解读
  • 当人机交互迈向新纪元:脑机接口与AR/VR/MR的狂飙之路
  • Spring Cloud Gateway 服务网关
  • 2025年第四届创新杯(原钉钉杯)赛题浅析-助攻快速选题
  • Android Studio 2024 内嵌 Unity 3D 开发示例
  • 【第四章:大模型(LLM)】01.神经网络中的 NLP-(1)RNN、LSTM 和 GRU 的基本原理和应用
  • 全国产化5G-A低空经济基座
  • 【Unity笔记】OpenXR 之VR串流开发笔记:通过RenderTexture实现仅在PC端展示UI,在VR眼镜端隐藏UI
  • 大模型进阶面试题
  • 车载 CAN-Bus 数据记录仪说明书
  • 【C语言进阶】一篇文章教会你文件的读写
  • 【unitrix】 6.16 非负整数类型( TUnsigned )特质(t_unsingned.rs)
  • 电子电子架构 --- 软件项目的开端:裁剪
  • Java面试题(中等)
  • Javascript NaN Symbol BigInt
  • TDengine 转化类函数 CAST 用户手册
  • 7.24 C/C++蓝桥杯 | 排序算法
  • Android15或AndroidU广播的发送流程
  • 星慈光编程虫2号小车讲解第三篇--附件概述
  • 深入理解 IO 多路复用:从 select 到 epoll
  • MySQL---索引、事务
  • VUE2 学习笔记5 动态绑定class、条件渲染、列表过滤与排序
  • 【全新上线】境内 Docker 镜像状态监控