mac中如何使用vsode愉快地运行C、C++程序

2024-03-16 05:10

本文主要是介绍mac中如何使用vsode愉快地运行C、C++程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

闲来无事,想在mac中写写C/C++程序,打开应用商店,准备下个xcode玩玩,结果小30G的空间占用直接劝退。因为一直使用vscode开发,便萌生了使用插件来运行C/C++程序的想法,也就有了这篇文章。

因为使用场景的不同,为大家提供了不使用调试功能使用调试功能两种方案。如果你只是简单的跑跑C/C++程序,可以考虑第一种方案。

一、不使用调试功能

  1. 打开vscode,点击扩展,输入C++,选择插件 C/C++ Compile Run安装。

image-20220314152346645

image-20220314154641783

  1. 新建文件夹cTest,文件夹下添加文件a.c

image-20220314154641784

a.c中输入以下代码并保存。

#include <stdio.h>int main (){printf("HelloWorld");
}
  1. 确保当前窗口为a.c,点击cmd+r运行程序。

image-20220314153823167

各平台运行指令如下

image-20220314153919493

(1) 可以看到文件夹下多了一个可执行文件a,如图。

image-20220314154229890

(2) 查看控制台输出信息,运行成功。

image-20220314154520677

二、使用调试功能

程序运行

  1. 打开vscode,点击扩展,输入C++,选择插件 C/C++安装。
    image-20220314154915285 image-20220314154946477

  2. 新建文件夹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

已安装,返回信息如下

image-20220314160141938

未安装,安装clang

xcode-select --install

(3)点击 cmd + p,输入>Configure Default Build Task。或 cmd+⇧+p,输入Configure Default Build Taskimage-20220314160839098

(4)选择C/C++ clang++ build active file进入tasks.json文件。图中是汉化后显示。image-20220314161035123

(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. 运行程序

(1)回到a.c窗口,点击⇧⌘B运行程序。

(2)查看目录结构,发现多了一个a文件和一个a.DYSM文件夹。

a文件:编译后的可执行文件。

a.DYSM文件夹:调试文件。

image-20220314165444726

(3)命令行进入cTest路径下,输入./a 运行程序。
image-20220314162446869

程序调试

  1. 打断点,在代码所在行左侧点击一下即可

image-20220314163257477

  1. 点击 cmd + p,输入>Start Debugging,进入调试。

image-20220314165546146

  1. 调试页面如图

image-20220314163617271

image-20220314163845915

官方文档传送门 https://code.visualstudio.com/docs/cpp/config-clang-mac

这篇关于mac中如何使用vsode愉快地运行C、C++程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/814382

相关文章

C++中RAII资源获取即初始化

《C++中RAII资源获取即初始化》RAII通过构造/析构自动管理资源生命周期,确保安全释放,本文就来介绍一下C++中的RAII技术及其应用,具有一定的参考价值,感兴趣的可以了解一下... 目录一、核心原理与机制二、标准库中的RAII实现三、自定义RAII类设计原则四、常见应用场景1. 内存管理2. 文件操

C++中零拷贝的多种实现方式

《C++中零拷贝的多种实现方式》本文主要介绍了C++中零拷贝的实现示例,旨在在减少数据在内存中的不必要复制,从而提高程序性能、降低内存使用并减少CPU消耗,零拷贝技术通过多种方式实现,下面就来了解一下... 目录一、C++中零拷贝技术的核心概念二、std::string_view 简介三、std::stri

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安

C++高效内存池实现减少动态分配开销的解决方案

《C++高效内存池实现减少动态分配开销的解决方案》C++动态内存分配存在系统调用开销、碎片化和锁竞争等性能问题,内存池通过预分配、分块管理和缓存复用解决这些问题,下面就来了解一下... 目录一、C++内存分配的性能挑战二、内存池技术的核心原理三、主流内存池实现:TCMalloc与Jemalloc1. TCM

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Python中help()和dir()函数的使用

《Python中help()和dir()函数的使用》我们经常需要查看某个对象(如模块、类、函数等)的属性和方法,Python提供了两个内置函数help()和dir(),它们可以帮助我们快速了解代... 目录1. 引言2. help() 函数2.1 作用2.2 使用方法2.3 示例(1) 查看内置函数的帮助(

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

Java使用HttpClient实现图片下载与本地保存功能

《Java使用HttpClient实现图片下载与本地保存功能》在当今数字化时代,网络资源的获取与处理已成为软件开发中的常见需求,其中,图片作为网络上最常见的资源之一,其下载与保存功能在许多应用场景中都... 目录引言一、Apache HttpClient简介二、技术栈与环境准备三、实现图片下载与保存功能1.

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

C++ 函数 strftime 和时间格式示例详解

《C++函数strftime和时间格式示例详解》strftime是C/C++标准库中用于格式化日期和时间的函数,定义在ctime头文件中,它将tm结构体中的时间信息转换为指定格式的字符串,是处理... 目录C++ 函数 strftipythonme 详解一、函数原型二、功能描述三、格式字符串说明四、返回值五