乘凉~
天津工业大学控制工程研究生一枚,研究方向是SLAM在无人机和机器人上的应用。毕业后在海康威视从事后端嵌入式软件开发工作。
展开
-
后端、嵌入式等岗位常用Linux命令总结(非常详细,持续更新)
一、文件及目录相关操作1.1、cd:切换目录cd: 切换目录1.2、ls:显示当前目录pwd: 显示当前目录ls : 列出当前目录下的所有内容ls -a : 列出全部文件(包括隐藏文件)ls -S: 按照文件容量大小排序的方式列出全部文件ls -t: 按照文件事件排序的方式列出全部文件1.3、pwd:显示当前目录1.4、chmod:改变文件或目录权限chmod 777 helloworld.c将hellow原创 2022-03-18 20:25:59 · 1939 阅读 · 0 评论 -
exec: “/usr/bin/nvidia-container-runtime“:stat /usr/bin/nvidia-container-runtime:解决没有该文件或文件夹问题
docker: Error response from daemon: exec: "/usr/bin/nvidia-container-runtime": stat /usr/bin/nvidia-container-runtime: no such file or directory.问题解决过程原创 2022-11-18 19:44:24 · 992 阅读 · 0 评论 -
Mongodb常用命令介绍
本文为博主在工作过程中,常用到的Mongodb的命令,记录一下,以后备用。原创 2022-10-24 09:29:21 · 590 阅读 · 0 评论 -
【HTML源码--一】:登录+蛋糕+照片+烟花;生日快乐、新年快乐、表白等
基于制作了一个小网页,有简单的用户登录功能,蛋糕、祝福、照片、烟花等小功能;稍加修改就可以用来表白、给好朋友送祝福、祝福新年等。原创 2022-09-20 22:58:01 · 3751 阅读 · 0 评论 -
VScode常用插件(C/C++开发)
俗话说,VScode万物皆可插件;有了合适的插件VScode会非常的得心应手。下面记录一下C/C++中常用的插件,随时补充。:此文中记录的插件均通过在线安装的方式安装;如果你的VScode无法连接到外网(比如在公司内网、红网中使用的VScode,请使用离线安装的方式安装插件);原创 2022-09-04 15:27:08 · 10948 阅读 · 0 评论 -
在Centos上从零开始部署并运行TinyWebServer服务器,过程记录(非常详细)
TinyWebServer是个什么项目?它是Linux下C++轻量级Web服务器,助力初学者快速实践网络编程,搭建属于自己的服务器。使用线程池+非阻塞socket+epoll(ET和LT均实现) +事件处理(Reactor和模拟Proactor均实现) 的并发模型使用状态机解析HTTP请求报文,支持解析GET和POST请求访问服务器数据库实现web端用户注册、登录功能,可以请求服务器图片和视频文件实现同步/异步日志系统,记录服务器运行状态。......原创 2022-08-31 00:40:40 · 1992 阅读 · 5 评论 -
【网路编程】详解TPC/IP网络通信中数据传输全过程(包括ip、网关、子网掩码、路由器、局域网、广域网、TCP/IP分层模型等)
对于 TCP/IP 协议,你是不是只知道“三/四次握手”?相信你一定还想过以下问题:数据如何从咱们个人电脑发送到网站?路由器和交换机在数据传输过程中起到什么作用?IP和MAC各有什么作用和区别?IP、子网掩码、默认网关有什么关系和作用?公网 IP 和私网 IP 有什么区别和作用?数据在局域网和广域网(Internet)之间分别是如何传输的?本博客将一一解开这些问题。。...........................原创 2022-06-09 00:06:52 · 745 阅读 · 0 评论 -
虚拟机VMware Horizon Client与主机之间建立共享文件夹
因经常需要在虚拟机和主机之间传递一些日常文件,所以建立共享文件夹。虚拟机中安装的系统为win10,主机中的系统为win10。步骤:第一步:先在虚拟机win10中新建文件夹(我重命名为“共享文件夹”),然后右键属性->共享->共享进去之后点击自己的账户名然后点共享。操作完成后,再返回属性界面就能看到该文件夹已经共享而且出现了共享链接,记下此链接。第二步:回到主机桌面->此电脑->最上面计算机->添加一个网络位置-点击下一步然后自定义网络位置,下一步,如下图原创 2021-04-13 19:04:05 · 10513 阅读 · 5 评论 -
windows10+linux+samba实现远程文件共享;centos 服务器在win10系统上添加一个网络位置;腾讯云服务器在win10上映射网络驱动器;
我们可以通过window系统自带的映射网络驱动器功能,将腾讯云服务器(centos 7 系统)的开发目录映射到window系统上;即在win10系统上添加一个网络位置,用于访问云服务器上的对应位置;这样就可以在window系统上利用VScode或sourceinsight等开发工具编写代码,然后通过Xshell终端上编译运行,极大提高码代码方便性!...............原创 2022-07-13 00:07:43 · 662 阅读 · 0 评论 -
虚拟机上安装Ubuntu时遇到SQUASHFS错误解决办法:QUASHFS error: squashfsread_data failed to read block 0x3773d14e
在虚拟机上安装Ubuntu20.04系统时,感觉已经安装的差不多了,但是屏幕上一直刷屏SQUASHFS error: squashfsread_data failed to read block 0x3773d14e、print_req_error: 418 callbacks suppressed以及blk_update_request: I/0 error,dev sr1, sector 1818780 op 0x0: (READ) flags 0x0 phys_seg 1 prio class 0等原创 2022-05-20 23:24:58 · 7219 阅读 · 0 评论 -
关于嵌入式软件开发工作中常用软件的设置
目录1 source insight2 VScode3 MobaXterm3.1 改变终端中文件夹颜色3.2 去掉默认右键粘贴:3 xshell1 source insight2 VScode离线引入插件:方法见我另一篇博客:VScode离线从本地载入插件的方法3 MobaXterm3.1 改变终端中文件夹颜色默认是这样的,但是文件夹颜色这个绿色太难受了,完全遮盖了文件夹的名字,根本看不到文件夹的名字是什么。改变:点进去:如下设置选择一个你觉得舒服的颜色,一直确定就OK了。3原创 2021-04-25 17:41:18 · 143 阅读 · 0 评论 -
VScode离线从本地载入插件的方法
需要在公司电脑的虚拟机中的win10系统中安装VScode,并载入一些常用的插件,记录一下方法。背景是我已经安装好了VScode,并且从同事那里复制来了插件,如下图如果你需要手动下载所需的插件,请参考:链接方法1:利用VScode自带的功能载入。按图中的步骤操作,先点1,再点2.然后就会出现以下画面,选择红框中的功能,然后从本地中选择插件文件,安装即可。方法二:利用cmd安装首先确定你VScode的安装目录(方法,桌面上的VScode的快捷方式->右键单击->打开文件位置原创 2021-04-13 13:09:15 · 16170 阅读 · 0 评论 -
Linux下C/C++多线程编程pthread库相关函数总结(线程、锁、信号量等)
对Linux下C或C++语言在多线程编程时所用到的pthread库中的相关函数进行了总结。头文件:#include <pthread.h>注意:在编译时注意加上-lpthread参数,以调用静态链接库。因为pthread并非linux系统的默认库。文章目录-------------------------线程--------------------------pthread_create:创建线程pthread_join:等待线程结束pthread_exit: 结束线程----------原创 2022-05-09 20:25:07 · 607 阅读 · 0 评论 -
CentOS 7 更新阿里源;CentOS 7更新yum源为阿里源;解决File contains no section headers.错误问题
安装CentOS后,如果不换成国内的源,经常会遇到File contains no section headers错误问题;所以最后还是换成国内的源,我这里记录一下换阿里源的过程。原创 2022-06-23 22:30:00 · 870 阅读 · 0 评论 -
Ubuntu20.04换阿里源(解决安装build-essential失败问题)
背景:在Ubuntu20.04 LTS上,需要使用gcc和g++编译器编译程序,在安装build-essential时报错。如下:acl@ubuntu:~/test$ sudo apt install build-essentialReading package lists... DoneBuilding dependency tree Reading state information... DoneSome packages could not be installed. Thi原创 2021-12-11 16:56:04 · 4941 阅读 · 0 评论 -
Linux下分别使用C和C++语言实现线程池(附带源码和解析)
本文记录了分别使用C和C++语言实现线程池的过程,并附带源码和解析。一、线程池理论知识1.1什么是线程池线程池(thread pool): 一种线程使用模式,线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在短时间任务创建与销毁线程的代价。线程池不仅能够保证内核的充分利用,还能防止过分调度。可用线程数据取决于可用的并发处理器、处理器内核、内存、网络sockets等数量。因为程序边运行边创建线程是比较耗时的,所以我们通过池化的原创 2022-05-09 13:01:25 · 544 阅读 · 0 评论 -
《程序员的自我修养--链接、装载与库》笔记
1.6.1 线程基础一个进程通常由多个线程组成,各个线程之间共享程序的内存空间(包括代码段、数据段、堆等)及一些进程级的资源(如打开文件和信号)。经典的线程与进程的关系图:线程中的访问权限线程中的私有存储:栈线程局部存储(Thread Local Storage,TLS)寄存器(包括PC寄存器)从C的角度看:1.6.2 线程安全同步与锁所谓同步,是指一个线程访问数据未结束时,其他线程不得对同一个数据进行访问。同步最常用的方法是锁。二元信号量:最简单的一种锁,只有两种状态:占原创 2022-03-12 20:27:23 · 2039 阅读 · 0 评论 -
C/C++学习笔记
函数重载:C++ 允许多个函数拥有相同的名字,只要它们的参数列表不同就可以,这就是函数的重载(Function Overloading)。借助重载,一个函数名可以有多种用途。参数列表又叫参数签名,包括参数的类型、参数的个数和参数的顺序,只要有一个不同就叫做参数列表不同。注意,参数列表不同包括参数的个数不同、类型不同或顺序不同,仅仅参数名称不同是不可以的。函数返回值也不能作为重载的依据。函数的重载的规则:函数名称必须相同。参数列表必须不同(个数不同、类型不同、参数排列顺序不同等)。函数的返回类型原创 2021-04-15 09:27:50 · 366 阅读 · 0 评论 -
C++ bind函数(std::bind、placeholders::_1)
对于bind函数的介绍以及底层实现网上好多资料可以查,现在我记录一下bind函数的使用。并记录一下placeholders::_1的作用。按我的理解通俗解释bind函数:fun1(a,b,c);func2 = bind(func1,t1,t2,t3,t4);假设func1函数需要有三个入参即a,b,c;通过bind函数作用后,我们就可以通过调用func2来调用fun1,那如何给fun1传参呢,当然也是通过fun2来传参,t1位置就代表传给fun1的第一个参数,也就是参数a,t2位置就代表传给fun原创 2022-02-13 00:28:39 · 2204 阅读 · 0 评论 -
Ubuntu双系统遇到的问题记录
一、添加快捷键1.添加快捷键打开系统监视器Ubuntu中的系统监视器相当于Windows中的资源管理器(ctrl+alt+delete),可以查看和关闭各个进程。配置方法如下:System Settings --> keyboard --> Shortcuts --> Custom Shortcuts 点击那个“+”来添加一个快捷键。(系统设置--> 键盘--> 快捷键--> 自定义快捷键)Name : SystemMonitor(可以自...原创 2020-09-18 21:11:53 · 261 阅读 · 0 评论 -
操作系统中并发和并行的区别和联系
本人一直以为并发和并行是一个意思,直到偶然从站长公众号上看到了并发和并行的区别一文,因此做个笔记记录下来。参考自“站长严长生”公众号发布的文章:大厂面试真题:并发和并行的区别(图解)目录1 并发 (Concurrency)2 并行 (Parallelism)3 并发+并行4 总结1 并发 (Concurrency)早期计算机的 CPU 都是单核的,一个 CPU 在同一时间只能执行一个进程/线程,当系统中有多个进程/线程等待执行时,CPU 只能执行完一个再执行下一个。为了表述简单,下文我们将不再区分原创 2022-01-07 22:06:43 · 2850 阅读 · 1 评论 -
将JSON文件读入内存中
#include<iostream>#include<stdio.h>#include"cJSON.h"#include"cJSON.c"using namespace std;int util_common_ReadFile2String(const char* szFileName, std::string& strFileContext);int main(){ std::string strModelConfig; util_common_原创 2022-01-07 21:47:18 · 923 阅读 · 0 评论 -
用LUSK方式对硬盘进行加密和解密
0 关于LUSK加密LUKS(Linux Unified Key Setup)为Linux硬盘分区加密提供了一种标准,它不仅能通用于不同的Linux发行版本,还支持多用户/口令。因为它的加密密钥独立于口令,所以如果口令失密,我们可以迅速改变口令而无需重新加密整个硬盘。通过提供一个标准的磁盘上的格式,它不仅方便之间分布的兼容性,而且还提供了多个用户密码的安全管理。必须首先对加密的卷进行解密,才能挂载其中的文件系统。文件系统在加密层之上,当加密层被破坏掉之后,磁盘里的内容就看不到,因为没有设备对他解密cr原创 2021-10-13 16:32:21 · 670 阅读 · 0 评论 -
g++编译.c文件遇到的问题
目录问题1:`error: invalid conversion from ‘void*’ to ‘void* (*)(void*)’ [-fpermissive]`问题2:pthread链接问题:问题3:(.text+0x500): undefined reference显示函数未定义同事用C语言写的代码(cmp_cpu_test.c),我在其基础上想加入C++的一些语法,因此需要用g++来编译,在编译时遇到问题:背景:cmp_cpu_test.c用gcc能成功编译并执行,但是在用g++编译时报错。原创 2021-09-06 21:21:06 · 1225 阅读 · 0 评论 -
更改xshell远程服务器的终端字体颜色并突出显示用户名
目录1 最终界面2 更改xshell远程服务器的终端字体颜色3 突出显示用户名1 最终界面2 更改xshell远程服务器的终端字体颜色在桌面上新建一个文本文件,打开,将以下内容添加进去,保存,退出,然后将名字改为demo.xcs。[Names]count=1name0=Solarized Dark (2)[Solarized Dark (2)]text(bold)=0080c0magenta(bold)=6c71c4text=00ff40white(bold)=fdf6e3gree原创 2021-04-14 18:52:04 · 2165 阅读 · 0 评论