mac中如何使用vsode愉快地运行C、C++程序
闲来无事,想在mac中写写C/C++程序,打开应用商店,准备下个xcode玩玩,结果小30G的空间占用直接劝退。因为一直使用vscode开发,便萌生了使用插件来运行C/C++程序的想法,也就有了这篇文章。
因为使用场景的不同,为大家提供了不使用调试功能和使用调试功能两种方案。如果你只是简单的跑跑C/C++程序,可以考虑第一种方案。
一、不使用调试功能
- 打开vscode,点击扩展,输入C++,选择插件 C/C++ Compile Run安装。
- 新建文件夹cTest,文件夹下添加文件a.c。
a.c中输入以下代码并保存。
#include <stdio.h>
int main (){
printf("HelloWorld");
}
- 确保当前窗口为a.c,点击cmd+r运行程序。
各平台运行指令如下
(1) 可以看到文件夹下多了一个可执行文件a,如图。
(2) 查看控制台输出信息,运行成功。
二、使用调试功能
程序运行
-
打开vscode,点击扩展,输入C++,选择插件 C/C++安装。
-
新建文件夹cTest,文件夹下添加文件a.c。
(1)a.c中输入以下代码并保存。
#include <stdio.h>
int main (){
for (int i = 0; i < 10; i++)
{
if (i == 8) {
printf("Hello World!");
}
}
return 0;
}
(2)检查你的mac中是否安装了clang。
clang --version
已安装,返回信息如下
未安装,安装clang
xcode-select --install
(3)点击 cmd + p
,输入>Configure Default Build Task
。或 cmd+⇧+p
,输入Configure Default Build Task
。
(4)选择C/C++ clang++ build active file进入tasks.json文件。图中是汉化后显示。
(5)覆盖tasks.json文件并保存。
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "clang++ build active file",
"command": "/usr/bin/clang++",
"args": [
"-std=c++17",
"-stdlib=libc++",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [
"$gcc"
],
"group": "build"
},
{
"type": "cppbuild",
"label": "C/C++: clang 生成活动文件",
"command": "/usr/bin/clang",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "编译器: /usr/bin/clang"
}
]
}
- 运行程序
(1)回到a.c窗口,点击⇧⌘B
运行程序。
(2)查看目录结构,发现多了一个a文件和一个a.DYSM文件夹。
a文件:编译后的可执行文件。
a.DYSM文件夹:调试文件。
(3)命令行进入cTest路径下,输入./a
运行程序。
程序调试
- 打断点,在代码所在行左侧点击一下即可。
- 点击
cmd + p
,输入>Start Debugging
,进入调试。
- 调试页面如图
官方文档传送门 https://code.visualstudio.com/docs/cpp/config-clang-mac
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律