ubuntu linux C/C++环境搭建

目录

前言

1.1 vim安装与配置

​编辑 1.2 vim配置

 1.3 gcc g++编译器的安装 与gdb调试器的安装

 1.4 写个C/C++程序测试一下

1.6 vscode安装

 1.7 vscode插件下载​编辑


前言

在开始C++之前,我们需要搭建好C++的开发环境,我这里使用的操作系统是ubuntu Linux,

  1. 编辑器VScode 或vim
  2. 编译器gcc
  3. 调试器gnd
  4. 项目构建工具cmake

1.1 vim安装与配置

下载vim,终端输入指令

sudo apt install vim

 卸载vim

sudo apt-get remove vim

 1.2 vim配置

输入指令:

sudo vim /etc/vim/vimrc

进入vim配置文件,在文件最后一行键入自己的配置

   **(Tips:如果直接输入vim /etc/vim/vimrc也是可以进去进行文件修改,但会出现只读模式,权限不够的情况,使用:wq! 也是无法解决的,建议在进入开始就加入sudo 命令进行文件修改)**

  1. ##个人常用配置(其余配置可自行查找)
  2. set ai                    自动缩进,与上一行保持一致的自动空格
  3. set ic                    在查询模型与匹配模式下忽略大小写
  4. set number                左侧显示行号
  5. set showmatch             显示括号配对,并高亮显示相匹配的括号
  6. set showmode              文本输入模型下,加亮显示模式指示器
  7. set showcmd               在状态栏显示所执行的指令,未完成的指令片段
  8. set warn                  长行显示自动折行
  9. set cindent               以C/C++模式缩进
  10. set ruler                 打开状态栏标尺
  11. set scrolloff=6           设置光标离窗口上下6行时窗口自动滚动
  12. set tabstop=4             设置Tab长度为4
  13. set wrap                  自动换行显示
  14. syntax enable
  15. syntax on                 自动语法高亮

 个人常用配置

 

 1.3 gcc g++编译器的安装 与gdb调试器的安装

sudo apt update
sudo apt install gcc g++
sudo apt install gdb

 1.4 写个C/C++程序测试一下

C程序

#include <stdio.h>

int main()
{
    printf("hello world\n");
    return 0;
}

C++程序

#include <iostream>

int main()
{
    std::cout<<"hello world" <<std::endl;
    return 0;
}

1.5 cmake项目构建工具安装 

执行以下指令:

sudo apt install make cmake

1.6 vscode安装

如果不习惯或不喜欢vim,可以下载vscode

官方下载网址

Download Visual Studio Code - Mac, Linux, Windows

 

进到下载页面后按操作系统下载就好

 1.7 vscode插件下载

 嵌入式学习插件推荐下载:

  1. C/C++,这个肯定是必须的。
  2. C/C++ Snippets,即 C/C++重用代码块。
  3. C/C++ Advanced Lint,即 C/C++静态检测 。
  4. Code Runner,即代码运行。
  5. Include AutoComplete,即自动头文件包含。
  6. Rainbow Brackets,彩虹花括号,有助于阅读代码。
  7. One Dark Pro,VSCode 的主题。
  8. GBKtoUTF8,将 GBK 转换为 UTF8。
  9. ARM,即支持 ARM 汇编语法高亮显示。
  10. Chinese(Simplified),即中文环境。
  11. vscode-icons,VSCode 图标插件,主要是资源管理器下各个文件夹的图标。
  12. compareit,比较插件,可以用于比较两个文件的差异。
  13. DeviceTree,设备树语法插件。
  14. TabNine,一款 AI 自动补全插件,强烈推荐,谁用谁知道!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/173022.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux难学?大神告诉你,Linux到底该怎么自学!

文章目录 Part.1Part.2Part.3写作末尾 知乎上有一条热门问答&#xff0c;问题是“Linux为什么那么难&#xff1f;” 从问题来看&#xff0c;提问者还处在初学阶段。但他显然受困于 Linux 环境基本操作的问题&#xff0c;对操作系统本身的原理还不熟悉&#xff0c;并且对命令行工…

LeetCode热题100——动态规划

动态规划 1. 爬楼梯2. 杨辉三角3. 打家劫舍 1. 爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; // 题解&#xff1a;每次都有两种选择&#xff0c;1或者2 int climbStairs(int n) {if (n …

Spring Cloud Alibaba Sentinel 简单使用

Sentinel Sentinel 主要功能Sentinel 作用常见的流量控制算法计数器算法漏桶算法 令牌桶算法Sentinel 流量控制Sentinel 熔断Sentinel 基本使用添加依赖定义资源定义限流规则定义熔断规则如何判断熔断还是限流自定义 Sentinel 异常局部自定义异常全局自定义异常系统自定义异常…

网工内推 | 字节原厂,正式编,网络工程师,最高30K*15薪

01 字节跳动 招聘岗位&#xff1a;网络虚拟化高级研发工程师 职责描述&#xff1a; 1、负责字节跳动虚拟网络产品的研发&#xff0c;包括但不局限于网络VPC、NAT、LB负载均衡等&#xff1b; 2、负责字节跳动网络基础平台的研发&#xff0c;包括但不局限于网络控制面系统、容器…

JS--localStorage设置过期时间的方案(有示例)

原文网址&#xff1a;JS--localStorage设置过期时间的方案(有示例)_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍如何使用localStorage设置数据的过期时间。 问题描述 localStorage是不支持设置过期时间的&#xff0c;cookie虽然支持设置过期时间但它存的数据量很小。所…

Redis从入门到精通(二)- 入门篇

文章目录 0. 前言1. 入门篇[【入门篇】1.1 redis 基础数据类型详解和示例](https://icepip.blog.csdn.net/article/details/134438573)[【入门篇】1.2 Redis 客户端之 Jedis 详解和示例](https://icepip.blog.csdn.net/article/details/134440061)[【入门篇】1.3 redis客户端之…

打码平台之图鉴的使用步骤

打码平台之图鉴 背景&#xff1a; ​ 今天给大家推荐一个我一直使用的验证码识别平台&#xff0c;图鉴&#xff0c;我没有收费&#xff0c;我只是觉得这个网站使用方便&#xff0c;支持验证码种类多&#xff0c;好了&#xff0c;话不多说&#xff0c;上教程&#xff01; 注册…

小程序制作(超详解!!!)第十六节 小程序的基本架构

1.题目描述 创建一个包含:首页、教学、科研、资讯和关于我们5个标签的小程序&#xff0c;每个标签都有对应的页面、图标和标签文字&#xff0c;点击某个标签将切换到对应的页面&#xff0c;同时该标签的图标和文字颜色都会发生变化页面的标题也发生相应的变化&#xff0c;而其…

数字IC基础:有符号数和无符号数的加减运算

相关阅读 数字IC基础https://blog.csdn.net/weixin_45791458/category_12365795.html?spm1001.2014.3001.5482 首先说明&#xff0c;本篇文章并不涉及补码运算正确性的证明&#xff0c;仅是对补码运算在有符号数和无符号数中运行进行讨论。 补码运算最大的作用在于消除计算机…

RabbitMQ 基础操作

概念 从计算机术语层面来说&#xff0c;RabbitMQ 模型更像是一种交换机模型。 Queue 队列 Queue&#xff1a;队列&#xff0c;是RabbitMQ 的内部对象&#xff0c;用于存储消息。 RabbitMQ 中消息只能存储在队列中&#xff0c;这一点和Kafka相反。Kafka将消息存储在topic&am…

2023年【T电梯修理】考试题及T电梯修理考试报名

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 T电梯修理考试题是安全生产模拟考试一点通总题库中生成的一套T电梯修理考试报名&#xff0c;安全生产模拟考试一点通上T电梯修理作业手机同步练习。2023年【T电梯修理】考试题及T电梯修理考试报名 1、【多选题】GB/T1…

什么是PyQt?

什么是Qt? Qt是一个著名的跨平台C图形用户界面应用程序开发框架。它由Qt公司开发,于1995年首次发布。Qt支持各种桌面,嵌入式和移动平台。 Qt的特点包括: 跨平台支持:Qt应用程序可以编译到多种平台运行,包括Windows,Mac,Linux,Android,iOS等。这大大简化了跨平台应用程序的开…

2023年亚太杯数学建模思路 - 案例:最短时间生产计划安排

文章目录 0 赛题思路1 模型描述2 实例2.1 问题描述2.2 数学模型2.2.1 模型流程2.2.2 符号约定2.2.3 求解模型 2.3 相关代码2.4 模型求解结果 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 最短时…

超级实用的程序员接单平台,看完少走几年弯路,强推第一个!

”前途光明我看不见&#xff0c;道路曲折我走不完。“ 兜兜转转&#xff0c;心心念念&#xff0c;念念不忘&#xff0c;必有回响。终于找到了....... 网络上好多人都在推荐程序员线上接单&#xff0c;有人说赚得盆满钵满&#xff0c;有的人被坑得破口大骂&#xff0c;还有的人…

解决Zotero不显示标签的问题

目录 问题描述 解决办法&#xff1a; 问题描述 Zotero是一款学习助手&#xff0c;可以帮助我们梳理文献&#xff0c;方便我们整理。 最近电脑从windows换到mac&#xff0c;重新安装了Zotero&#xff0c;发现之前的一直设置都没有了。比如设置好的标签信息不显示了。如下图: …

matlab设置背景颜色

matlab默认的背景颜色是纯白RGB(255,255,255)&#xff0c;纯白太刺眼&#xff0c;看久了&#xff0c;眼睛会酸胀、疼痛&#xff0c;将其改成豆沙绿RGB(205,123,90)&#xff0c;或者给出浅绿色RGB(128,255,255), 颜色就会柔和很多&#xff0c;眼睛感觉更舒适。     下面介绍在…

Java使用x-www-form-urlencoded发请求

平常在开发过程中用的最多的就是JSON格式&#xff0c;请求编码就是 application/json&#xff0c;但偏偏有些接口是 x-www-form-urlencoded&#xff0c;怎么办呢&#xff0c;重新封装喽 在POSTMan工具是叫 x-www-form-urlencoded 在 APIpost工具中是叫 urlencoded Map<Str…

2023年【施工升降机司机(建筑特殊工种)】最新解析及施工升降机司机(建筑特殊工种)考试资料

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 施工升降机司机(建筑特殊工种)最新解析参考答案及施工升降机司机(建筑特殊工种)考试试题解析是安全生产模拟考试一点通题库老师及施工升降机司机(建筑特殊工种)操作证已考过的学员汇总&#xff0c;相对有效帮助施工升…

SMART PLC累计流量功能块(梯形积分法+浮点数累加精度控制)

S7-200SMART PLC数值积分器相关知识请参考下面文章链接: SMART PLC数值积分器功能块(矩形+梯形积分法完整源代码)-CSDN博客文章浏览阅读153次。PLC的数值积分器算法也可以参考下面文章链接:PLC算法系列之数值积分器(Integrator)-CSDN博客数值积分和微分在工程上的重要意义不…

C语言进阶之冒泡排序

✨ 猪巴戒&#xff1a;个人主页✨ 所属专栏&#xff1a;《C语言进阶》 &#x1f388;跟着猪巴戒&#xff0c;一起学习C语言&#x1f388; 目录 前情回顾 1、回调函数 2、冒泡排序 3、库函数qsort cmp&#xff08;sqort中的比较函数&#xff0c;需要我们自定义&#xff09; …