安装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”],如下所示。 我们可以按下面的指令规则行动:…...
代码随想录算法训练营第二十六天 | 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 软件中,而无需任何编码经验。 此外࿰…...
【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行业仅有的国家级考试。考试不受学历、专业、资历等条件限制。软考高级考试中有五大证书…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
GruntJS-前端自动化任务运行器从入门到实战
Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...
【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
NPOI Excel用OLE对象的形式插入文件附件以及插入图片
static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...
负载均衡器》》LVS、Nginx、HAproxy 区别
虚拟主机 先4,后7...
