当前位置: 首页 > 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…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...

C# 表达式和运算符(求值顺序)

求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...

在树莓派上添加音频输入设备的几种方法

在树莓派上添加音频输入设备可以通过以下步骤完成,具体方法取决于设备类型(如USB麦克风、3.5mm接口麦克风或HDMI音频输入)。以下是详细指南: 1. 连接音频输入设备 USB麦克风/声卡:直接插入树莓派的USB接口。3.5mm麦克…...

Linux安全加固:从攻防视角构建系统免疫

Linux安全加固:从攻防视角构建系统免疫 构建坚不可摧的数字堡垒 引言:攻防对抗的新纪元 在日益复杂的网络威胁环境中,Linux系统安全已从被动防御转向主动免疫。2023年全球网络安全报告显示,高级持续性威胁(APT)攻击同比增长65%,平均入侵停留时间缩短至48小时。本章将从…...

何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡

何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡 背景 我们以建设星云智控官网来做AI编程实践,很多人以为AI已经强大到不需要程序员了,其实不是,AI更加需要程序员,普通人…...

命令行关闭Windows防火墙

命令行关闭Windows防火墙 引言一、防火墙:被低估的"智能安检员"二、优先尝试!90%问题无需关闭防火墙方案1:程序白名单(解决软件误拦截)方案2:开放特定端口(解决网游/开发端口不通)三、命令行极速关闭方案方法一:PowerShell(推荐Win10/11)​方法二:CMD命令…...

轻量安全的密码管理工具Vaultwarden

一、Vaultwarden概述 Vaultwarden主要作用是提供一个自托管的密码管理器服务。它是Bitwarden密码管理器的第三方轻量版,由国外开发者在Bitwarden的基础上,采用Rust语言重写而成。 (一)Vaultwarden镜像的作用及特点 轻量级与高性…...

JS面试常见问题——数据类型篇

这几周在进行系统的复习,这一篇来说一下自己复习的JS数据结构的常见面试题中比较重要的一部分 文章目录 一、JavaScript有哪些数据类型二、数据类型检测的方法1. typeof2. instanceof3. constructor4. Object.prototype.toString.call()5. type null会被判断为Obje…...