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

在vscode中配置C/C++环境GCC on Linux

https://code.visualstudio.com/docs/cpp/config-linux

官方文档

准备工作
为了能够在vs code中编译运行C/C++程序,需要下载:

Visual Studio Code

C++扩展插件,cuda,,,
对于该扩展插件,打开vs code,利用快捷键(Ctrl+Shift+X)打开插件搜索面板,输入C++,找到下面这个紫白色的,点击Install下载。
 

GCC(g++ 编译器和GDB调试器)
首先检查一下是否已经安装过GCC了,打开终端,输入以下命令查看GCC的版本:

gcc -v
如果提示找不到gcc这个命令没安装的话,就输入以下包更新命令,先更新下系统包列表,防止下载时出现接口方面,可能是版本兼容之类的错误。

sudo apt-get update
sudo apt-get install build-essential gdb
 

新建helloworld.cpp,然后任意写一些C++源代码

#include <iostream>
#include <vector>
#include <string>using namespace std;int main()
{vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};for (const string& word : msg){cout << word << " ";}cout << endl;
}

源文件生成可执行文件(Build)
接下来我们会需要一个叫tasks.json的文件,它是用来告诉VS Code如何使用g++来编译,或者说build出可执行文件。

这里有一个注意的点就是要保持源文件helloworld.cpp打开着,这叫active file。

通过选择“Terminal > Configure Default Build Task",然后会出现选项,这里需要选择“Choose C/C++: g++ build active file”。
找到command行对应

调试(Debug)
如果想要调试文件的话我们需要launch.json文件,它能在我们按F5时告诉VS Code利用GDB debugger去调试程序。

通过主菜单,选择“Run > Add Configuration…”,然后选择“C++ (GDB/LLDB)”

然后会出现下拉框我们需要选择“g++ build and debug active file”:

.vscode目录下生成launch.json文件并打开该文件,类似的各参数的意义和功能都可以自行了解。

生成完了之后回到helloworld.cpp,通过按F5或者从菜单选择“Run > Start Debugging”开始对程序进行调试了,顶部会出现调试按钮。

相关文章:

在vscode中配置C/C++环境GCC on Linux

https://code.visualstudio.com/docs/cpp/config-linux 官方文档 准备工作 为了能够在vs code中编译运行C/C程序&#xff0c;需要下载&#xff1a; Visual Studio Code C扩展插件&#xff0c;cuda&#xff0c;&#xff0c;&#xff0c; 对于该扩展插件&#xff0c;打开vs c…...

windows执行完LoadLibrary()后,可以删除源动态库文件,函数不会锁库文件

windows执行完LoadLibrary()后&#xff0c;可以删除源动态库文件&#xff0c;函数不会锁库文件。 #include <iostream> #include <Windows.h>int main() {char path[MAX_PATH]{};GetCurrentDirectoryA(sizeof(path), path);HMODULE lib LoadLibraryA("testd…...

ios 知识

IOS 类文件.h和.m中interface的区别 大家都知道我们在创建类文件时会发现&#xff1a; #import <UIKit/UIKit.h>interface ViewController : UIViewControllerend和 #import "ViewController.h"interface ViewController ()end那么他们之间有何区别呢&#x…...

8 | 美国航班数据分析

"在现代快节奏的生活中,航空旅行已经成为人们出行的重要方式之一。然而,航班的准时性一直以来都是旅客和航空公司关注的焦点。无论是商务出差还是休闲度假,乘客们都希望能够在既定的时间内安全、准时地到达目的地。而对于航空公司而言,准点运营不仅关乎乘客体验,还涉…...

app.use(express.json()) 使用

Express内置的中间件 自 Express 4.16.0 版本开始&#xff0c;Express 内置了 3 个常用的中间件&#xff0c;极大的提高了 Express 项目的开发效率和体验 express.static 快速托管静态资源的内置中间件&#xff0c;例如&#xff1a; HTML 文件、图片、CSS 样式等&#xff08;无…...

基于PyTorch的图像识别

前言 图像识别是计算机视觉领域的一个重要方向&#xff0c;具有广泛的应用场景&#xff0c;如医学影像诊断、智能驾驶、安防监控等。在本项目中&#xff0c;我们将使用PyTorch来开发一个基于卷积神经网络的图像识别模型&#xff0c;用来识别图像中的物体。下面是要识别的四种物…...

js合并数组对象(将数组中具有相同属性对象合并到一起,组成一个新的数组)

一、根据数组对象中某一key值&#xff0c;合并相同key值的字段&#xff0c;到同一个数组对象中&#xff0c;组成新的数组 1.原数组&#xff1a; var array [{ id: 1, name: Alice },{ id: 2, name: Bob },{ id: 1, age: 25 },{ id: 3, name: Charlie, age: 30 } ];2.合并后数…...

Spring BeanPostProcessor 接口的作用和使用

BeanPostProcessor 接口是 Spring 框架中的一个扩展接口&#xff0c;用于在 Spring 容器实例化、配置和初始化 bean 的过程中提供自定义的扩展点。通过实现这个接口&#xff0c;您可以在 bean 实例创建的不同生命周期阶段插入自己的逻辑&#xff0c;从而实现对 bean 行为的定制…...

Android 13 Hotseat定制化修改——006 hotseat图标禁止移动到Launcher中

目录 一.背景 二.方案 三.具体实践 一.背景 客户定制需要修改让hotseat中的icon不要移动到Launcher中,所以需要进行定制 二.方案 原生的Hotseat与Launcher是可以相互移动的,然后现在的需求是Hotseat中的图标只能在Hotseat中移动,所以需要做下限制 思路:在事件拦截的地…...

RabbitMQ 发布确认机制

发布确认模式是避免消息由生产者到RabbitMQ消息丢失的一种手段 发布确认模式 原理说明实现方式开启confirm&#xff08;确认&#xff09;模式阻塞确认异步确认 总结 原理说明 生产者通过调用channel.confirmSelect方法将信道设置为confirm模式&#xff0c;之后RabbitMQ会返回Co…...

微信小程序使用rich-text解析富文本字符串的时候,遇到image标签图片很大超过屏幕

场景&#xff1a; 使用uniapp开发微信小程序&#xff0c;解析富文本文章需求 用到的组件&#xff1a; u-view2.0的u-parse uniapp提供的rich-text 以上两种组件都是解析富文本的作用&#xff0c;一般用于富文本解析场景&#xff0c;比如解析文章内容&#xff0c;商品详情&am…...

使用IIS服务器部署Flask python Web项目

参考文章 ""D:\Program Files (x86)\Python310\python310.exe"|"D:\Program Files (x86)\Python310\lib\site-packages\wfastcgi.py"" can now be used as a FastCGI script processor参考文章 请求路径填写*&#xff0c;模块选择FastCgiModule&…...

sentinel核心流程源码解析

sentinel的处理槽(ProcessorSlot) 可以说&#xff0c;sentinel实现的各种功能就是由各处理槽完成的 ,ProcessorSlot定义了四个方法&#xff1a; 当进入该处理槽时触发该方法 处理完 entry方法之后触发该方法 退出该处理槽时触发该方法 exit方法处理完成时触发该方法 sentinel的…...

中睿天下Coremail | 2023年第二季度企业邮箱安全态势观察

今日&#xff0c;中睿天下联合Coremail邮件安全发布《2023第二季度企业邮箱安全性研究报告》&#xff0c;对2023第二季度和2023上半年的企业邮箱的安全风险进行了分析。 一 垃圾邮件同比下降16.38% 根据监测&#xff0c;2023年Q2垃圾邮件数量达到6.47亿封&#xff0c;环比下降…...

桶排序-1184:明明的随机数

【题目描述】 明明想在学校中请一些同学一起做一项问卷调查&#xff0c;为了实验的客观性&#xff0c;他先用计算机生成了N个1到1000之间的随机整数&#xff08;N≤100&#xff09;&#xff0c;对于其中重复的数字&#xff0c;只保留一个&#xff0c;把其余相同的数去掉&#x…...

Spring Boot中整合Keycloak OpenID Connect(OIDC)

在Spring Boot中整合Keycloak OpenID Connect&#xff08;OIDC&#xff09;是一个常见的任务&#xff0c;用于实现身份验证和授权。Keycloak是一个开源的身份和访问管理解决方案&#xff0c;而OpenID Connect是构建在OAuth 2.0之上的认证和授权协议。下面是一个简单的步骤指南&…...

如何使用Mac终端给树莓派pico构建C/C++程序进行开发,以及遇到各种问题该怎么处理,不使用任何IDE或编辑器(例如VS Code)

写本文的原因是官方的教程已经过时了&#xff0c;如果你现在按照官方教程来在 Mac 上进行配置&#xff0c;那么会遇到一堆问题&#xff0c;比如我几乎把能踩的“雷”都踩了。所以这里记录了完整过程&#xff0c;以及各种错误的原因和处理方法&#xff0c;不然以后换 Mac 了或者…...

linux 关机和重启

关机和重启 关机和重启之前最好先数据数据同步一下 # 将数据由内存同步到硬盘sync 关机 #shutdown [选项] 时间#立即进入维护模式shutdown now#立即重启shutdown -r now#20:00 重新启动计算机shutdown -r 20:00& #立即关机shutdown -h now# 20:00 关闭计算机shutdown -h 20…...

Python(八十三)字符串的比较操作

❤️ 专栏简介&#xff1a;本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中&#xff0c;我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 &#xff1a;本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…...

Java面试

Java面试宝典是一本面向Java开发者的面试准备指南&#xff0c;旨在帮助准备参加Java相关职位面试的人们更好地准备和应对面试。以下是一些可能在Java面试中涉及的主题和问题&#xff0c;供您参考&#xff1a; Java基础知识&#xff1a; 什么是Java虚拟机&#xff08;JVM&#x…...

G-Helper:华硕笔记本性能调校的轻量化革命

G-Helper&#xff1a;华硕笔记本性能调校的轻量化革命 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, Scar, and oth…...

我不是在用 AI 助手,我在把自己的能力沉淀成组织资产搜

1. 什么是 Apache SeaTunnel&#xff1f; Apache SeaTunnel 是一个非常易于使用、高性能、支持实时流式和离线批处理的海量数据集成平台。它的目标是解决常见的数据集成问题&#xff0c;如数据源多样性、同步场景复杂性以及资源消耗高的问题。 核心特性 丰富的数据源支持&#…...

从鸢尾花到业务洞察:K-Means聚类实战与多维可视化解析

1. 从鸢尾花到电商用户&#xff1a;K-Means的跨界实战 第一次接触鸢尾花数据集时&#xff0c;我完全没想过这个经典的机器学习"Hello World"项目&#xff0c;能直接迁移到电商用户分析中。直到去年双十一前&#xff0c;我们团队需要紧急对300万用户进行分群运营&…...

GHelper:华硕笔记本性能优化的轻量级解决方案——3步快速配置指南

GHelper&#xff1a;华硕笔记本性能优化的轻量级解决方案——3步快速配置指南 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF…...

Dify性能优化实战:从源码拆解到落地,我是如何将应用响应速度提升3倍的

Dify性能优化实战&#xff1a;从源码拆解到落地&#xff0c;我是如何将应用响应速度提升3倍的 当我们的Dify应用从几百用户增长到上万用户时&#xff0c;那些曾经"足够快"的接口逐渐变成了用户投诉的焦点。一个看似简单的知识库检索可能需要3-5秒才能返回结果&#x…...

庖丁解牛:从Linux内核源码看NandFlash ECC校验的位运算艺术

1. 为什么需要ECC校验 NandFlash作为嵌入式系统中最常用的存储介质之一&#xff0c;其物理特性决定了它存在一定的位翻转概率。想象一下&#xff0c;你正在用笔记本记录重要会议内容&#xff0c;突然发现某个字的笔画出现了错误 - 这就是NandFlash面临的现实问题。位翻转可能由…...

如何免费解锁Cursor Pro功能:终极AI编程助手激活指南

如何免费解锁Cursor Pro功能&#xff1a;终极AI编程助手激活指南 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your tria…...

CogVideoX-2b行业落地:教育机构动态课件制作新方式

CogVideoX-2b行业落地&#xff1a;教育机构动态课件制作新方式 基于智谱AI CogVideoX-2b模型构建的本地化视频生成工具&#xff0c;专为AutoDL环境优化&#xff0c;让教育机构能够快速制作高质量动态课件 1. 教育课件制作的痛点与解决方案 传统教育课件制作面临诸多挑战&#…...

企业级报表工具润乾报表的安全审计:从dataSphereServlet接口看文件上传风险

企业级报表工具安全审计实战&#xff1a;从接口风险到供应链防护 报表系统作为企业数据流转的核心枢纽&#xff0c;其安全性直接影响业务数据的完整性与机密性。某次内部安全评估中&#xff0c;我们发现部署在财务系统的报表组件存在异常文件写入行为&#xff0c;追踪发现是源于…...

手把手教你用Qwen3-TTS:10种语言语音合成,开箱即用

手把手教你用Qwen3-TTS&#xff1a;10种语言语音合成&#xff0c;开箱即用 1. 为什么选择Qwen3-TTS&#xff1f; 想象一下&#xff0c;你正在开发一个多语言智能客服系统&#xff0c;需要为不同国家的用户提供自然流畅的语音服务。传统方案可能需要部署多个语音合成引擎&…...