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

安装deepinlinuxV20.8配置docker和vscode开发c语言

# 重装的原因
    某个开发任务时,发现需要glibc2.25,本机版本比较低,就下载源码configure make makeinstall,结果失败了,
    看来与系统用的glibc有冲突,造成部分库版本不一致,打开终端出现段错误,重启也进不去了,终于下定决心重装新版本os
# 网速不够就没下最新版,选择livecd启动系统,备份文件
    原系统在第2硬盘,就把盘挂在一个新建目录 sudo mount /dev/sdb1 /home/deepin/sdb
    然后到新建目录里找到原先系统里各种文件 jdk node idea和npm cargo等配置文件
    然后安装deepinlinux20.7,启动后把jdk和配置用上,顺便装上linux版qq和微信vscode,系统更新,竟然成了20.8节省以后再升级了
    查看glibc版本 ldd --version  2.28,应该够用很多软件了
    继续整环境,sudo apt install git 配置免密登陆
    生成密钥    ssh-keygen -t rsa -b 4096 -C "qzc1998@qq.com"   
    使用记事本打开 .ssh/id_rsa.pub 文件,复制里面的文本内容 到代码库个人偏好设置里填写ssh密钥
    ssh -T git@gitee.com 码云网站是这么验证的
    本公司 git clone ssh://git@gitlab.sz:30022/XXXX.git 这样就可以下载
# 免密登陆其他机器
    生成密钥文件
    ssh-keygen -t rsa
    复制文件到远程机器
    ssh-copy-id -i root@192.168.1.2
    然后登陆一次验证密码 ssh root@192.168.1.2
# 继续整开发环境
    调整显示器亮度,启用暗黑主题,git下载一个工程,用idea打开,设置字体22,安装中文 背景 lombok AlibabaJavaCodingGuidelines vue插件,
    idea安装插件 SequenceDiagram可以生成时序图,想修改时序图中添加中文注释,就导出PlantUML文件,用PlantUML插件修改
        https://plugins.jetbrains.com/plugin/8286-sequencediagram/versions/stable
        插件市场里可以安装 PlantUML diagramming tool integration
    比较软件用了CCompare ,邮件用了雷鸟邮件客户端可以接收多家邮件,数据库客户端用了dbeaver
    vscode 启动就安装中文语言包 ,rust的插件rust-analyzer vscode-rust-syntax bettertoml和json格式化 vscode-json   
    调试器 ext install vadimcn.vscode-lldb 就是安装codelldb 注意可能需要离线安装
    https://github.com/vadimcn/vscode-lldb/releases/download/v1.8.1/codelldb-x86_64-linux.vsix
     github下载速度太慢,更新hosts文件
    sudo systemd-resolve --flush-caches
    sudo resolvectl flush-caches
    如果没这,用 ps -ef | grep named看下 service named status 或 systemctl status named
    或者安装下面的 apt-get install -y nscd  systemctl restart nscd
    后来找到https://blog.csdn.net/zxyhj/article/details/126509761 加速github网站 https://github.welab.eu.org/
    
    
# linux时间少了8小时
    sudo apt-get install ntpdate
    sudo ntpdate time.windows.com
    感觉ntp容易失败,那就自己设置时间 date -s “XXXX”,然后把时间写入硬件,为了简化自己有一个java程序用settime.sh脚本调用
    sudo hwclock --localtime --systohc
# 安装docker
    https://blog.csdn.net/richie696/article/details/113078983
    如果有旧版先删除 sudo apt remove docker.io docker-engine
    // 安装 curl 文件传输工具和 gnupg2 非对称加密相关依赖
    sudo apt install curl gnupg2
    // 中科大源(无法翻出去的人建议用国内镜像源,速度比官方源快很多)
    curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add -
    // 官方源(有能力对外网加速的人请用官方源,毕竟可以第一时间获取最新的版本)
    curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
    // 中科大源(无法翻出去的人建议用国内镜像源,速度比官方源快很多)
    echo 'deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/debian buster stable' | sudo tee /etc/apt/sources.list.d/docker.list
    // 官方源(有能力对外网加速的人请用官方源,毕竟可以第一时间获取最新的版本)
    echo 'deb [arch=amd64] https://download.docker.com/linux/debian buster stable' | sudo tee /etc/apt/sources.list.d/docker.list
    正式安装 sudo apt update && sudo apt install docker-ce -y
    安装完以后查看一下版本 sudo docker version
    为了让当前非root账号也能执行,我们需要将当前的账号加入到docker用户组中 sudo usermod -aG docker qzc
    启动 systemctl start docker
    验证 sudo docker run hello-world
    参考公司 http://gitlab.sz/red-line/docs/-/wikis/win%E4%B8%8B%E5%90%AF%E5%8A%A8docker
    公司内记得设置安全镜像库https://harbor.sz 如下命令登录公司内库认证
    docker login harbor.sz -u admin -p admin
        sudo cp ./docker.service /lib/systemd/system/docker.service
        修改了自定义的启动命令
        ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock  --registry-mirror=https://yn3efubc.mirror.aliyuncs.com/ --insecure-registry=https://harbor.sz
        自定义本地镜像保存路径加上去起不来,可能是命令有改变,先试一下配置文件
        docker info命令查看一下本地路径 Docker Root Dir: /var/lib/docker
        修改配置文件/etc/default/docker 增加 -g /home/qzc/docker-home 感觉没生效
        还是 用备份老文件到新文件夹,删除老文件夹,创建链接即可 
        ```
        cp -r /var/lib/docker /home/qzc/docker-home/
         rf -rf /var/lib/docker
        ln -s /home/qzc/docker-home/docker /var/lib/docker 解决问题
        ```
# 搭建vscode下c和c++开发环境
    安装编译器 sudo apt install gcc g++ gdb
    vscode安装插件 搜索"C++",然后安装C/C++即可
    按下Ctrl+P,输入">task",点击配置任务运行程序,即可编辑tasks.json,这个是控制编译操作的配置
    {
    "version": "2.0.0",
    "tasks": [
        {
            "type": "cppbuild",
            "label": "buildFile",
            "command": "/usr/bin/gcc",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": "build",
            "detail": "编译器: /usr/bin/gcc"
        }
    ]
    }
    按下Ctrl+Shift+B进行编译,系统会生成launch.json,这个是控制调试运行的配置文件。输入下面内容
    {
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceRoot}/${fileBasenameNoExtension}",    //编译后的二进制文件位置
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceRoot}",
            "environment": [],
            "externalConsole": false,    //如果是true,将在新的窗口(console)输出,反之在下面的输出选项卡输出
            "MIMode": "gdb",
            "miDebuggerPath": "gdb",
            "preLaunchTask": "buildFile",
            "setupCommands": [
                {
                "description": "Enable pretty-printing for gdb",
                "text": "-enable-pretty-printing",
                "ignoreFailures": true
                }
            ]
        }
    ]
    }
    ok,就可以加断点f5调试了
    文件 -> 首选项 -> 设置 在用户 - 扩展 - C/C++ 中,找到C_Cpp: Formatting。选择“vcFormat”
                        设置->文本编辑器->格式化->Format on Type: 当敲回车键时即可看到格式化的效果
                        同时最好把on save 和 on paste  也勾选效果更好

相关文章:

安装deepinlinuxV20.8配置docker和vscode开发c语言

# 重装的原因 某个开发任务时,发现需要glibc2.25,本机版本比较低,就下载源码configure make makeinstall,结果失败了, 看来与系统用的glibc有冲突,造成部分库版本不一致,打开终端出现段错误&#x…...

java08-面向对象3

一:static 关键字:静态的 1.可以用来修饰的结构:主要用来修饰类的内部结构 属性、方法、代码块、内部类 2. static 修饰属性:静态变量(或类变量) 2.1 属性,是否使用static修饰,又分为静态属…...

【Spark分布式内存计算框架——Spark Core】8. 共享变量

第七章 共享变量 在默认情况下,当Spark在集群的多个不同节点的多个任务上并行运行一个函数时,它会把函数中涉及到的每个变量,在每个任务上都生成一个副本。但是,有时候需要在多个任务之间共享变量,或者在任务(Task)和…...

C++多态常见面试题

1.什么是多态 简单点说,就是多种形态,具体就是完成某个行为,当不同的对象去完成时产生的不同形态。多态分为静态多态和动态多态,静态多态一般指的是函数重载,在编译阶段通过函数名修饰规则,不同类型调用不同…...

字母板上的路径 题解,力扣官方出来挨打(小声)

字母板上的路径 我们从一块字母板上的位置 (0, 0) 出发,该坐标对应的字符为 board[0][0]。 在本题里,字母板为board [“abcde”, “fghij”, “klmno”, “pqrst”, “uvwxy”, “z”],如下所示。 我们可以按下面的指令规则行动&#xff1a…...

代码随想录算法训练营第二十六天 | 39. 组合总和,40.组合总和II,131.分割回文串

一、参考资料组合总和题目链接/文章讲解:https://programmercarl.com/0039.%E7%BB%84%E5%90%88%E6%80%BB%E5%92%8C.html 视频讲解:https://www.bilibili.com/video/BV1KT4y1M7HJ 组合总和II题目链接/文章讲解:https://programmercarl.com/004…...

vueday01-脚手架安装详细

一、vue脚手架安装命令npm i -g vue/cli 或 yarn global add vue/cli安装上面的工具,安装后运行 vue --version ,如果看到版本号,说明安装成功或 vue -V工具安装好之后,就可以安装带有webpack配置的vue项目了。创建项目之前&#…...

初识cesium3d(一)

使用ViteVue3.2Cesium。Vite需要Node.js版本14.18及以上版本。Vite命令创建的工程会自动生成vite.config.js文件,来配置一些相关的参数。 1、使用Vite创建vue3项目 # npm npm init vitelatest cesium-app -- --template vue # yarn yarn create vite cesium-app…...

点云转3D网格【Python】

推荐:使用 NSDT场景设计器 快速搭建 3D场景。 在本文中,我将介绍我的 3D 表面重建过程,以便使用 Python 从点云快速创建网格。 你将能够导出、可视化结果并将结果集成到您最喜欢的 3D 软件中,而无需任何编码经验。 此外&#xff0…...

【OpenCV图像处理系列一】OpenCV开发环境的安装与搭建(Ubuntu + Window都适用)

🔗 运行环境:OpenCV,Ubuntu,Windows 🚩 撰写作者:左手の明天 🥇 精选专栏:《python》 🔥 推荐专栏:《算法研究》 #### 防伪水印——左手の明天 #### &#x…...

【代码随想录】-动态规划专题

文章目录理论基础斐波拉契数列爬楼梯使用最小花费爬楼梯不同路径不同路径 II整数拆分不同的二叉搜索树背包问题——理论基础01背包二维dp数组01背包一维数组(滚动数组)装满背包分割等和子集最后一块石头的重量 II目标和一和零完全背包零钱兑换 II组合总和…...

c++数据类型 输入输出

C++语法 //常用包: iostream:cin cout endl cstdio:scanf printf algorithm:max min reverse swap cstring:memset memcpymemset(a,-1,sizeof a) 填充数组memcpy(b,a,sizeof a) 将a数组复制到b数组,长度是a数组字节长度 cmath:sin sqrt pow abs fabs编程是一种控制计…...

【设计模式-11】责任链模式

认识设计模式(十一)---责任链模式【一】责任链模式【二】介绍(1)意图(2)主要解决(3)何时使用(4)如何解决(5)关键代码(6&am…...

SpringBoot+Vue实现智能物流管理系统

文末获取源码 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 浏…...

【MT7628】MT7628如何修改串口波特率、调试串口物理口、使用UART3口

环境说明 sdk版本:Mediatek_ApSoC_SDK_4320_20150414.tar.bz2 芯片方案:MT7628A Uboot修改串口波特率方法 修改rt2880.h文件 修改include/configs/rt2880.h文件CONFIG_BAUDRATE宏的值 - #define CONFIG_BAUDRATE 57600 +#define CONFIG_BAUDRATE 115200 Kernel中修改串口波特…...

css盒模型介绍

在使用CSS进行网页布局时,我们一定离不开的一个东西————盒子模型。盒子模型,顾名思义,盒子就是用来装东西的,它装的东西就是HTML元素的内容。或者说,每一个可见的 HTML 元素都是一个盒子,下面所说的盒子…...

onetab 谷歌插件历史数据清除

文章目录方法1:测试也可以步骤1:批量执行点击步骤2:python 脚本模拟点击确定操作方法2:成功【推荐】步骤1:修改confirm,类似于hook操作步骤2:批量点击删除操作:onetab 谷歌插件历史数…...

GRBL源码简单分析

结构体说明 GRBL里面的速度规划是带运动段前瞻的,所以有规划运动段数据和微小运动段的区分 这里的“规划运动段”对应的数据结构是plan_block_t,前瞻和加减速会使用到,也就是通过解析G代码后出来的直接直线数据或是圆弧插补出来的拟合直线数据…...

第一部分:简单句——第一章:简单句的核心——二、简单句的核心变化(谓语动词的情态)

二、简单句的核心变化 简单句的核心变化其实就是 一主一谓(n. v.) 表达一件事情,谓语动词是其中最重要的部分,谓语动词的变化主要有四种:三态加一否(时态、语态、情态、否定),其中…...

软考高级考试中有五大证书,其中哪个更值得考?

计算机软考属于专业技术人员职业资格水平评价类,是职业资格、专业技术资格(职称)和专业技术水平"三合一"的考试,是目前IT行业仅有的国家级考试。考试不受学历、专业、资历等条件限制。软考高级考试中有五大证书&#xf…...

7.4.分块查找

一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...

Java多线程实现之Thread类深度解析

Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...

MySQL 部分重点知识篇

一、数据库对象 1. 主键 定义 :主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 :确保数据的完整性,便于数据的查询和管理。 示例 :在学生信息表中,学号可以作为主键&#xff…...

淘宝扭蛋机小程序系统开发:打造互动性强的购物平台

淘宝扭蛋机小程序系统的开发,旨在打造一个互动性强的购物平台,让用户在购物的同时,能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机,实现旋转、抽拉等动作,增…...

go 里面的指针

指针 在 Go 中,指针(pointer)是一个变量的内存地址,就像 C 语言那样: a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10,通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...

LUA+Reids实现库存秒杀预扣减 记录流水 以及自己的思考

目录 lua脚本 记录流水 记录流水的作用 流水什么时候删除 我们在做库存扣减的时候,显示基于Lua脚本和Redis实现的预扣减 这样可以在秒杀扣减的时候保证操作的原子性和高效性 lua脚本 // ... 已有代码 ...Overridepublic InventoryResponse decrease(Inventor…...