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.mzph.cn/news/155413.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python之随机数

生成随机数 工具库&#xff1a;random 生成随机整数&#xff1a;random.randint(0, 99999) 生成随机大写英文字母&#xff1a;random.choice(string.ascii_uppercase) 例子 3. 写代码实现&#xff0c;车牌的区域划分。如 car_list [鲁A32444, 沪B12333, 京B8989M, 京C49678, 黑…

Java实现象棋算法

象棋算法包括搜索算法、评估函数和剪枝算法。以下是一个简单的实现&#xff1a; 搜索算法&#xff1a;使用极大极小值算法&#xff0c;即每个玩家都会做出最好的选择&#xff0c;考虑到对方也会做出最好的选择&#xff0c;所以需要搜索多层。 public int search(int depth, i…

数据库-索引

一、概述 索引是SQL优化的核心 索引(index)是帮助MySQL高效获取数据的数据结构。在数据之外&#xff0c;数据库系统还维护着满足特定查找算法的数据结构&#xff0c;这些数据结构以某种引用(指向数据)&#xff0c;这样可以在这些数据结构上实现高级查找算法&#xff0c;这种数…

docker下移除不使用的镜像、容器、卷、网络

Prune images docker image prune移除没有标签并且没有被容器引用的镜像&#xff0c;这种镜像称为 dangling(摇晃的) 镜像。 示例1&#xff1a;docker image prune 删除了redis&#xff0c;无标签且无引用 docker ps -a CONTAINER ID IMAGE COMMAND CREATED STA…

深度学习之基于YoloV5抽烟检测系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 基于YOLOv5&#xff08;You Only Look Once&#xff09;的抽烟检测系统可以用于实时检测图像或视频中是否存在抽烟行…

CF 1894A 学习笔记 思维 题意理解分析

原题 A. Secret Sport time limit per test 3 seconds memory limit per test 512 megabytes input standard input output standard output Lets consider a game in which two players, A and B, participate. This game is characterized by two positive integer…

IvorySQL3.0:基于PG16.0最新内核,实现兼容Oracle数据库再升级

Oracle作为全球最大的数据库厂商之一&#xff0c;具有较高的市场知名度和份额。但随着数据处理需求日益增长&#xff0c;使用Oracle的企业可能面临一些挑战&#xff0c;如数据库复杂性、高昂维护成本、数据迁移和集成问题等&#xff0c;难以满足企业实时数据处理需求&#xff0…

服务器能分成的四种类型有哪些?

1、文件服务器&#xff1a;是一种网络服务器&#xff0c;他能够把共享文件夹或者是网络驱动器映射到本地计算机上面&#xff0c;这样企业里的用户都可以很方便的访问和共享文件&#xff0c;文件服务器还能够存储大量的数据&#xff0c;提供备份&#xff0c;安全性也很高&#x…

UI 自动化测试框架设计与 PageObject 改造!

在 UI 自动化测试过程中&#xff0c;面对复杂的业务场景&#xff0c;经常会遇到这样的挑战&#xff1a; 简单的录制/回放速度快&#xff0c;但无法适应复杂场景&#xff1b;编写自动化测试脚本比较灵活&#xff0c;但工作量大且可维护性差&#xff1b;以往的封装技术&#xff…

webpack 创建typescript项目

【视频链接】尚硅谷TypeScript教程&#xff08;李立超老师TS新课&#xff09; 创建webpack 项目 IDE&#xff1a;webstorm 新建一个空的项目运行npm init初始化项目目录结构 1. 安装 webpack&#xff1a;构建工具webpack-cli&#xff1a; webpack的命令行工具typescript&am…

单链表在线OJ题(详解+图解)

1.删除链表中等于给定值 val 的所有节点 本题的要求是输入一个val的整形值&#xff0c;若链表中节点存储的值与val相等&#xff0c;则删除这个节点&#xff0c;并最后返回这个删除节点后的链表&#xff0c;思路如下&#xff1a; 我们可以直接使用while循环&#xff0c;并且使用…

SAP gui 登录条目不让修改

今天碰到用户安装的GUI 770 版本&#xff0c;不让修改&#xff0c;也不让添加 后面再选项里面找到了

安防监控视频云存储平台EasyCVR页面播放卡顿的优化方法

视频监控平台EasyCVR能在复杂的网络环境中&#xff0c;将分散的各类视频资源进行统一汇聚、整合、集中管理&#xff0c;在视频监控播放上&#xff0c;TSINGSEE青犀视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放&#xff0c;可同时播放多路视频流&#xff0c;也能支持视…

ky10 server aarch64 离线安装openssl3.1.4

离线程序 https://gitcode.net/zengliguang/ky10_aarch64_openssl_install.git 输入下面命令执行离线安装脚本 source openssl_offline_install.sh 安装完成

郎酒“掉队”,经销商们能等来春天吗?

文 | 螳螂观察&#xff08;TanglangFin&#xff09; 作者 | 渡过 有“六朵金花”之称的川酒品牌中&#xff0c;五粮液、泸州老窖、舍得、水井坊都已成功上市&#xff0c;只剩下郎酒和剑南春未上市。 与IPO的“掉队”相对应的&#xff0c;是郎酒在冲刺高端、内部管理、渠道管…

js 深度学习(七)

闭包高级 构造函数 1、对象字面量 2、构造函数 3、自定义构造函数&#xff1a;命名大驼峰 function Teacher(){ } var teacher var Teacher();原始值没有自己的方法和属性 undfined null不能设置自己的属性和方法 数字不一定是原始值 var a new Number(1); aa.name abc va…

安全领航,共筑敏捷开发新时代【云驻共创】

安全领航&#xff0c;共筑敏捷开发新时代。网络安全形势虽然严峻&#xff0c;但得益于企业安全意识的提升&#xff0c;近两年来遭受网络攻击的网站不断减少&#xff0c;普通网民的个人隐私及其他敏感数据得到了更多的保证。华为云基于自身多年的安全经验研发了可以帮助开发者实…

C语言--每日五道选择题--Day21

今天的自我表述&#xff1a; 启动这个专栏的21天了&#xff0c;这也是我学习C/C开始的第5个月&#xff0c;收获还是很多的&#xff0c;我在5个月之前还是个摆烂仔&#xff0c;从来没想过自己可以坚持这么久&#xff0c;讲真的已经习惯了这种感觉&#xff0c;所以并没有什么坚持…

(一)pytest自动化测试框架之生成测试报告(mac系统)

前言 我们可以通过pytest-html插件来生成测试报告&#xff0c;但是pytest-html插件生成的测试报告不够美观&#xff0c;逼格也不够高&#xff0c;通过allure生成的测试报告是比较美观的&#xff0c;花里胡哨的&#xff0c;能够提升一个level。 allure官网&#xff1a; Allure…

【JVM】JVM异常不打印堆栈信息 [ -XX:-OmitStackTraceInFastThrow ]

文章目录 一、背景二、原因三、 代码验证 一、背景 生产环境日志突然膨胀到100G, 为了定位问题,所以截取了部分报错日志, 问题是 堆栈信息呢? 哪里报的NPE在哪??? 信息如下: [ERROR] 2020-12-09 09:41:50.053 - [taskAppIdTASK-1919-33805-97659]:[156] - wait task qu…