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,一经查实,立即删除!

相关文章

Java实现象棋算法

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

数据库-索引

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

深度学习之基于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…

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;是郎酒在冲刺高端、内部管理、渠道管…

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

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

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

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

布尔类型的转换

1.图示 2.说明 空数组[]和空对象{}都是Object类型&#xff0c;因此直接用于if判断条件时都会被转化为true。任意值与布尔值比较&#xff0c;都会将两边的值转化为Number。如果将空数组[ ]与布尔值false比较&#xff0c;false转化为0&#xff0c;而空数组[ ]转化为0&#xff0c…

【算法之路】高精度算法(实现加减乘除)

目录 一、高精度概念 二、高精度算法的实现 1、高精度加法&#xff08;大整数相加&#xff09; 2、高精度减法&#xff08;大整数减法&#xff09; 3、高精度乘法&#xff08;大整数*小整数&#xff09; 4、高精度除法&#xff08;大整数/小整数&#xff09; 一、高精度概…

Java GUI实现桌球小游戏

桌球游戏是一种室内运动&#xff0c;通常在一个正式的桌球台上进行。这种游戏也被称为台球或母球。桌球游戏的目标是使用一个击球杆将彩球击入桌面四个角落的袋子中&#xff0c;得分最高的一方获胜。桌球游戏需要一定的技巧和策略&#xff0c;因此是一项受欢迎的竞技运动和休闲…

生成对抗网络Generative Adversarial Network,GAN

Basic Idea of GAN Generation&#xff08;生成器&#xff09;  Generation是一个neural network&#xff0c;它的输入是一个vector&#xff0c;它的输出是一个更高维的vector&#xff0c;以图片生成为例&#xff0c;输出就是一张图片&#xff0c;其中每个维度的值代表生…

前端环境变量释义

视频教程 彻底搞懂前端环境变量使用和原理&#xff0c;超清楚_哔哩哔哩_bilibili 添加命令行参数 --modexxxxx 新建.env.xxxx文件,其中.env文件会在所有环境下生效 以VITE_开头&#xff0c;字符串无需加双引号 使用import.meta.env.VITE_xxxxx进行调用