技术
文章平均质量分 52
技术相关
谁吃薄荷糖
CSDN “博客专家”、
CSDN “2021年度博客之星 TOP 50-100(排名不分先后)”、
CSDN“每日一练·马桶打卡”发起人、
工程师职称(计算机专业)、
软件设计师(软考中级)
展开
-
IP V4地址最后一位斜杠是什么意思?
IP地址最后一位斜杠是什么意思?比如192.168.1.10/27?还有IP地址和子网掩码相加得到的网络地址是什么意思这是vlsm(可变长子网掩码)。c类地址192.168.1.10/255.255.255.0,斜杠后面是子网掩码。可以表示为192.168.1.10/24。/27代表这个二进制掩码的前27位是1 , 后5位是0 换算成10进制数字就是255.255.255.224 子网...原创 2018-05-08 08:47:48 · 19089 阅读 · 1 评论 -
【多网段切换导致DNS域名解析失败问题处理】
文章目录🔴问题描述:🟠问题排查:🟡问题解决:🟢知识扩展:🔵res_init() 简介:作用:所属库:示例:描述相关文件🟣引经据典:🔴问题描述:设备有LAN和WIFI两种网络方式,测试时LAN和WIFI分别连接在两个不同的路由器上,切换两个网络(只启用LAN或者WIFI)时发现设备的mqtt程序重连服务器会失败(服务器地址使用的是域名)。🟠问题排查:初步排查时发现重启mqtt程序,可以正常连接。但是使用mqtt的断网重连功能发现就不行。最后研读mqtt源码,发现是调用getaddrinfo函数失败原创 2022-04-02 14:17:14 · 2745 阅读 · 42 评论 -
「 Modbus-RTU报文解析」解析03、06、10功能码报文示例
背景项目用到modbus-rtu通讯协议与三方平台通讯,由于三方平台没有寄存器地址点表信息,只提供了报文数据,需要对报文进行二次解析,从而获得三方平台使用到的寄存器地址信息。思路简介...原创 2022-03-01 23:34:06 · 12162 阅读 · 39 评论 -
【win7黑屏终结者】win7电脑登录账户后黑屏(只有鼠标箭头)问题
现象正常开机登录账户后,黑屏。只有一个鼠标的箭头。。。桌面都不显示问题定位:权限问题导致。修复步骤:1.首先重启电脑按F8键(联想笔记本)进入“安全模式”2.打开控制面板-小图标3.操作中心-点击“安全”下拉箭头4.选择“用户账户控制”设置,把权限调整为“从不通知”,点击确认。5.重启机器,问题解决。番外本文主要是为win7进入黑屏(只有鼠标箭头)提供一种问题处理方式,我试了其他网上各种方法,什么修改注册表的,安装显卡驱动的都不行,最后就是这个方法可以(问的公司的元老级原创 2022-01-14 21:43:18 · 8426 阅读 · 6 评论 -
【知易行难】RS485组网连接示意图
背景最近项目调试modbus协议会用到RS485串口,一般就是1对1的RS485串口连接方式。但是也知道RS484是可以像串葫芦一样串起来通讯的。搜了半天的资料,都没击中我的点,还是和隔壁硬件小哥讨论了一会才理清细节。于是呼了,便整理了这篇博文。简介RS-485又名TIA-485-A, ANSI/TIA/EIA-485或TIA/EIA-485。RS485是一个定义平衡数字多点系统中的驱动器和接收器的电气特性的标准,该标准由电信行业协会和电子工业联盟定义。使用该标准的数字通信网络能在远距离条件下以及电原创 2022-01-12 22:47:41 · 15053 阅读 · 40 评论 -
【vsftpd】嵌入式linux简易配置vsftpd服务
背景本教程主要涉及/etc(或者/etc/vsftpd下)路径下vsftpd.conf、vsftpd.ftpusers、vsftpd.user_list文件,简易配置ftp,让使用者可以快速使用root用户可以登录设备ftp进行文件操作即可。如果有详细配置vsftpd可以后期补充。配置步骤1.修改vsftpd.conf配置文件:配置ftp根目录为/vi vsftpd.conf在文件末尾添加:# loc原创 2021-12-29 13:01:10 · 1126 阅读 · 12 评论 -
【跨平台网络抓包神器のtcpdump】ubuntu下编译tcpdump开源抓包工具
1.资源准备:(1)下载tcpdump源码:https://www.tcpdump.org/index.html#latest-releases(2)下载两个文件(tcpdump与libpcap):tcpdump-4.99.1.tar.gz和libpcap-1.10.1.tar.gz2.在linux编译机中,新建一个tcpdump文件夹(路径建议全英文;另外,如果编译机是虚拟机不要放在共享文件夹里,否则会导致编译报错),把上述两个压缩包拷贝到此文件夹内,解压;并给tcpdump下所有文件赋予权限(ch原创 2021-12-23 20:00:00 · 1359 阅读 · 8 评论 -
【unix时间戳小示例】linux/unix系统获取unix时间戳
unix时间戳unix时间戳是从1970年1月1日(UTC/GMT的午夜(0时0点0分))开始所经过的秒数,不考虑闰秒。C 库函数 - gmtime()C 库函数 struct tm *gmtime(const time_t *timer) 使用 timer 的值来填充 tm 结构,并用协调世界时(UTC)也被称为格林尼治标准时间(GMT)表示。C 库函数 - mktime()C 库函数 time_t mktime(struct tm *timeptr) 把 timeptr 所指向的结构转换为自原创 2021-12-20 23:30:14 · 1198 阅读 · 14 评论 -
cmake跨平台编译之判断操作系统平台、32位64位系统
判断交叉编译:if(CMAKE_CROSSCOMPILING) message(STATUS "Cross Comliling!!!, ARM") set(CURRENT_SYSTEM "Arm")else() message(STATUS "No Cross Comliling!!!")endif()判断32位64位系统:if(CMAKE_CL_64) set(CURRENT_PLATFORM "x64") message(STATUS "Current Platfor原创 2021-12-15 21:57:36 · 5533 阅读 · 29 评论 -
Source Insight 4怎么取消函数结束提示字符
问题:source insight4 函数结束提示符 怎么取消?太丑了。。。解决:Options -> Preferences -> Syntax Decorations -> Auto Annotations里 第二个(Annotate closing braces with end-comments)取消勾选即可。结果展示:整个世界都清净了,欧耶~...原创 2021-12-10 17:06:28 · 10751 阅读 · 7 评论 -
【svn老玩家翻车了,git玩的不够6】git恢复本地误删的文件
背景:最近项目使用git来进行代码管理,由于之前一直使用小乌龟svn,对git还是比较陌生的。有时候修改本地代码,发现改乱了,就需要删除本地版本,恢复流上代码。按照svn的操作,只要删掉本地文件,然后update一把就行了,然而git就没这么简单了,捣鼓半天才搞完。以test仓库为例删除本地test文件git status使用git status查看本地改动的暂存记录。如下图所示,删除了“test"。git reset HEAD [被删除的文件或文件夹]git reset HEAD 命令原创 2021-12-06 01:00:00 · 11939 阅读 · 8 评论 -
【c语言 gcc9.1.0环境下编译报错】error: ‘true’ undeclared (first use in this function)
问题网上验证一个单链表是否有环的c语言demo,放到gcc9.1.0的环境下编译,发现编译报错:error: ‘true’ undeclared (first use in this function)分析发现是demo里使用到的true和flase编译报错了,原来gcc9.1.0下bool关键字还未支持。深入分析后发现,原来C语言(C99之前)中没有bool关键字。在C语言编程时,我们都是使用BOOL,但BOOL不是内置类型,一般都是通过typedef或者宏来定义的,通常都会被定义成int类型。原创 2021-10-11 15:07:24 · 15570 阅读 · 22 评论 -
❤️你还在用visio画图吗?已经落伍啦!快来试试轻量级绘图神器draw.io吧!❤️
引子最近写模块文档,需要绘制一些程序流程示意图,之前一直用word+visio的组合,但是现在都是typora+xmind的轻组合了,所以这次也尝试了一个新的轻量级绘图工具draw.io。文末附上在线链接与下载链接。draw.io在线直接在浏览器里输入draw.io会跳转到app.diagrams.net,就可以打开在线版绘图了选择“修改存储方式”,可以选择多种存储方式。由于我是绘制工作中的框图,所以我选择了“设备”,文件保存在我本地。多种模板可供选择绘图界面和visio也类似,上手很快原创 2021-09-18 16:45:04 · 15747 阅读 · 134 评论 -
【♻️markdown之一次编写,到处使用♻️】markdown文件转word
引子最近都是使用markdown格式来编写文档,大部分网站也是支持markdown的,但是有些网站不支持markdown格式的图文,例如百家号,但是他支持word导入。于是就萌生了markdown转word到想法。由于一直使用typora,typora原生不能转word,简单摸索了一下,把经验总结分享出来。环境准备markdown编辑器:Typora转换软件:Pandoc操作步骤安装Pandoctypora需要借助pandoc软件实现md2doc,可以在github上或者csdn里下载pand原创 2021-08-29 23:30:02 · 10467 阅读 · 8 评论 -
【⌛工欲善其事,必先利其器⏳】葵花宝典の费曼学习法
废话不多说,巨佬镇楼!费曼学习法费曼巨佬曾经说过:学任何东西,如果你能用简单的话,用自己的话,不带行话术语,说给八十岁的老太太和八岁的小孩听。如果这些人都听懂了,你就把这个概念搞明白了。简言之,就是:以教促学,极简主义。个人觉得,巨佬这简直就是来自美国纽约白居易啊!来一波白居易号外:白居易诗妇孺皆知。《墨客挥犀》里称:白居易每作一首诗,都要给不识字的老太太念念,老太太能听懂的,就要,听不大懂的,就改,改后也听不懂的,就不取了。言归正传,下面开始介绍费曼学习法:先放一波洋屁:There ar原创 2021-06-30 13:22:39 · 10590 阅读 · 144 评论 -
【☝️C站博客大神的标配の建议收藏☝️】Emoji符号大全,可直接复制使用,无需编写符号代码
引子看到各个巨佬都用Emoji表情,于是也想搞搞,先百度了一波,说直接使用符号代码,然后markdown里就直接可以,但是符号代码感觉影响文档的编写体验,于是想能不能直接复制呢,这样既方便又直观。于是就产生了这篇博文。符号代码法例如:在md文件里写:joy: ,然后在线预览就是????直接复制法就是找到[外链图片转存中…(img-tkcrSiNu-1626836595014)]表情,直接复制。CV大法好啊!ctrl c + ctrl v,都是我们的!部分示例表情?????????????原创 2021-07-21 11:14:19 · 17483 阅读 · 62 评论 -
【☀️Linux什么姿势最舒服?简单讲讲☀️】嵌入式Linux入门
嵌入式Linux以Linux为基础的多用于消费电子或者航天航空等特定领域的一种嵌 入系统内部、具有专属功能的计算机系统具有开源、性能优异、简单易移植等特点。嵌入式Linux的发展历程上世纪六七十年代无操作系统,多用于工业控制和导弹飞机等上世纪八十年代具有简单操作系统,最著名的是VxWorks,诞生于1983年上世纪九十年代嵌入式操作系统支持网络,linux诞生并快速发展本世纪00年代嵌入式系统支持SMP,在消费电子领域发展迅速,嵌入式Linux占据主导市场本世纪10年代智能化、.原创 2021-07-20 20:49:40 · 12540 阅读 · 34 评论 -
【 ➰斗艳争妍の网络协议姐妹花️➰】http协议 VS websocket协议
http协议http简介httphttp(hypertext transfer protocol),“超文本传输协议”。超文本包含有超链接和各种多媒体元素标记的文本。常见的超文本格式html(超文本标记语言)。http协议定义浏览器如何向web服务器发送请求,web服务器如何向浏览器进行响应。简言之,就是client端与server端进行数据传输的一种规则。http工作原理请求/响应模型用户点击http://www.baidu.com/index.html后的流程:分原创 2021-07-13 19:02:29 · 10397 阅读 · 137 评论 -
【⭐阅读推荐指数:5颗星★★★★★⭐】关于多副本纠删码,你想知道的全都在这里
什么是分布式存储?介绍多副本和纠删码之前,我们先来说一下分布式存储。分布式存储是不同于传统集中式存储的的一种架构,很多时候也被称为SDS软件定义存储(Software Defined Storage)。传统集中式存储采用控制器+硬盘柜的方式,通过冗余的双控制器提供数据管理和读写能力(也有超过2个控制器的多控存储,多见于高端存储),通过控制器自带的硬盘槽位或扩展硬盘柜提供存储空间,如下图。集中式存储的硬盘数据保护多采用RAID技术,比如RAID5、RAID6、RAID10等,以后有机会我们转载 2021-07-13 09:31:18 · 14281 阅读 · 13 评论 -
【☠️️社死现场の老板来了☠️️】小伙,搞C语言嵌入式开发这么久了,还不知道u8、u16、u32、s8、s16、s32是什么意思啊?
首先开门见山:u8是unsigned char,u16是unsigned short,u32是unsigned long;s8是signed char,s16是signed short,s32是signed long。然后娓娓道来:显而易见,u就是unsigned的缩写,s就是signed的缩写,8就表示8个二进制位(一个字节),16就表示16个二进制位(两个字节),32就表示32个二进制位(四个字节)。这样写的目的,是为了提高跨平台的移植性与兼容性。不同平台数据类型定义都不尽相同,一套代码要想.原创 2021-07-08 10:39:52 · 16121 阅读 · 130 评论 -
【听哥一句劝,C++水很深,你把握不住啊!】C++提高班之 &符与*符
C++提高班之 &符与*符像&和*这样的符号,既可以作为表达式中的运算符,也能作为声明的一部分出现,符号的上下文决定了符号的意义:int i = 27;int &r = i; //&紧随类型名出现,因此是声明的一部分,r是一个引用int *p; //*紧随类型名出现,因此是声明的一部分,p是一个指针p = &i; //&出现在表达式中,是一个取地址符*p = i; //*出现在表达式中,是一原创 2020-09-21 18:34:08 · 1749 阅读 · 5 评论 -
【⚡小丑竟然是我自己⚡】安防三年,今天才知道什么是ONVIF
什么是ONVIFONVIF:Open Network Video Interface Forum,开放型网络视频接口论坛Founder:AXIS,BOSCH,SONY为什么选择ONVIF协议?宗旨:帮助会员节约研发资源,更好地把精力放在产品的差异化设计上,尤其是针对众多安防中小企业而言。网络视频产品由此所能提供的多种可能性,使终端用户、集成商、顾问和生产厂商能够轻松地从中获益,并获得高性价比、更灵活的解决方案、市场扩张的机会以及更低的风险。ONVIF协议的目标及现状Goal:solve a .原创 2021-07-05 09:10:45 · 11267 阅读 · 208 评论 -
【☘️听哥一句劝,ubuntu水很深,你把握不住!让giegie来帮你☘️】查看ubuntu版本信息与内核信息
版本信息:指令:lsb_release -a示例:root@ubuntu_64:~# lsb_release -aNo LSB modules are available.Distributor ID: UbuntuDescription: Ubuntu 12.04 LTSRelease: 12.04Codename: precise解释:Distributor ID: Ubuntu //类别是ubuntuDescription: Ubuntu 12.04 LTS .原创 2021-07-02 18:03:55 · 10436 阅读 · 128 评论 -
【giegie哪有什么坏心思呢,不过是想带你白嫖网红爆款时间屏保呀!】Fliqlo屏幕保护程序(文末有下载链接呦)
Fliqlo屏幕保护程序双击“Fliqlo Screensaver”文件夹中标有“Fliqlo.exe”的图标。缺省安装即可。时钟屏保1.5.1右键单击名为“Fliqlo”的文件。scr”,选择“安装”使其成为默认屏保,然后“屏保设置”面板将自动打开。附下载链接 Fliqlo屏幕保护程序...原创 2021-06-22 18:43:38 · 13292 阅读 · 36 评论 -
【那么普通却那么自信,一分钟学Source Insight】Source Insight 4 tab设置为4个空格
菜单栏-options-preferences…Syntax Formatting - File Types…C/C++ Source File - Expand tabs to spaces原创 2021-06-22 09:36:11 · 13159 阅读 · 28 评论 -
【✈躺平了,三分钟学bat脚本✈】adb shell 执行命令 + bat脚本延时操作
背景项目需要使用adb 调试。开个ftp 23端口,又要打开root权限和读写权限,又要输入命令的,很麻烦。于是想着写个脚本化简下流程,所以就有了这个脚本技术分解bat脚本中需要使用到adb shell的,需要使用如下形式:adb shell "TODO CMD"本来以为执行完就好了,谁知道执行完第一条命令后adb断开了,需要隔一段时间才能连上,所以两条指令还需要有个延时。bat脚本实现延时操作:以5秒为例,ping 127.0.0.1 -n 5 >nul如果需要10秒,则修改数原创 2021-06-17 16:44:24 · 16712 阅读 · 32 评论 -
【Source Insight 4.0 英文版】 如何设置选中高亮
背景:最近使用Source Insight 4.0英文版看嵌入式代码,默认的配置,没有高亮,看的很不习惯。操作步骤:菜单栏选择Options勾选"File Type Options… (Alt +Y)"选择 “Hightlight references to selected symbol”高亮效果:...原创 2021-06-15 17:32:49 · 11739 阅读 · 16 评论 -
【☢️伤害性不高,侮辱性极强!☢️】Win10更新21H1后关闭右下角天气和新闻
问题描述:更新到win10 1909最新版,发现win10右下角出现了天气图标,并且点开里面都是广告和新闻。。。直接上图。。。解决措施:任务栏点击右键>资讯和兴趣>关闭step1:任务栏右键step2:点击“资讯和兴趣”step3:选择“关闭”结果展示:终于关闭了。。。...原创 2021-06-05 23:09:15 · 10696 阅读 · 24 评论 -
【⛔拒绝内卷,学会shell,走遍天下都不怕⛔】shell编程基础
shell编程基础shell简介属性shell是一个命令行解释器,建立了用户和操作系统之间的接口。当我们在命令行输入一个命令后,shell会对命令进行解释,调用相应的程序去执行。shell是一种编程语言,写shell脚本的方式实现,后缀名为“.sh”。常用shelllinux中 有许多类型的shell,常见的有两个:bash(b shell),最初unix shell之一的增强版本;tcsh(c shell),作为BSD UNIX系统一部分而开发的C Shell的增强版本。二者区别:原创 2021-06-05 16:08:28 · 11099 阅读 · 16 评论 -
【Let‘s Go】Go语言入门篇
万事开头难。。。直接在浏览器流输入https://golang.google.cn/dl/。。。加载半天失败了。。。。应该被墻了。。。哎找了半天。。。终于在sutdygolang.com里找到了。。。然后直接点击链接去下载。。。竟然跳转到上面那个官网了。。。后面又尝试在下载链接上右键,打开链接,竟然能下载了。。。。不容易。。。...原创 2021-05-24 11:17:40 · 15249 阅读 · 20 评论 -
go: go.mod file not found in current directory or any parent directory; see ‘go help modules‘
go build报错:go: go.mod file not found in current directory or any parent directory; see ‘go help modules’需要执行go mod init 初始化项目编写demo:package mainimport "fmt"func main(){ fmt.Println("hello world.")}编译:go build报错了使用go mod init修复问题继续编译,得到可执原创 2021-05-24 10:51:07 · 11267 阅读 · 4 评论 -
【妙啊!一分钟带你搞CV】JPG生成nv12/nv21文件
利用ffmpeg来实现:.\ffmpeg.exe -i 111.jpg -s 26881520 -pix_fmt nv12 test_nv12.yuv.\ffmpeg.exe -i 111.jpg -s 26881520 -pix_fmt nv21 test_nv21.yuv原创 2021-05-11 14:18:37 · 14492 阅读 · 10 评论 -
【展开讲讲?xmind日常小知识】xmind2020插入表格
在xmind2020中插入表格最近在xmind2020里写资料,有个地方需要用表格,然后百度了半天,发现都是xmind8的教程,xmind2020的比较少,xmind2020界面与xmind8差异较大,所以补充一把。1.添加子主题2.修改子主题格式为矩阵样式-结构-矩阵(行)/矩阵(列)3.矩阵示例矩阵(行)矩阵(列)4.总结此表格功能比较弱,只能算是一种表格形式的展示吧,聊胜于无,凑合用下吧。...原创 2021-04-20 08:20:58 · 16373 阅读 · 10 评论 -
【三分钟学习FFMPEG一个知识点】FFMPEG关于avio_alloc_context申请使用内存释放问题
问题:使用ffmpeg发现av_malloc申请的内存最后不能用av_free函数释放,会崩溃。代码示例: unsigned char * iobuffer = NULL; iobuffer = (unsigned char *)av_malloc(40000); if (iobuffer == NULL) { printf("iobuffer av_malloc failed.\n"); return -1; } AVI原创 2021-04-02 14:29:10 · 11764 阅读 · 10 评论 -
LC_ALL=C表示什么?
转载 2021-03-25 17:09:28 · 405 阅读 · 2 评论 -
【✅windows奇怪的知识增加了✅】windows系统下快速删除海量小文件方法
背景测试收图demo等,会在本地保存大量图片文件,时间一长,会有多哒几十个GB的数据,占用大量磁盘空间。使用windows的右键删除耗时完全不靠谱,需要十几个小时。尝试了shift+del还是很慢。又尝试了电脑管家的文件粉碎功能,也是慢。无奈,只能寻求他法。方案使用windows命令行工具(DOS指令)来处理。使用del命令删除文件del本来只删除文件夹里的文件,文件夹不删。del /f/s/q dirname附del的参数/P 删除每一个文件之前提示确认。 /F 强制删除只读文件。原创 2021-03-04 13:53:18 · 19885 阅读 · 8 评论 -
【C++提高班】c++数组遍历比较相邻的数值
冒泡里遍历比较会用到,两种都可以,不过要注意范围。容易混淆。#include <iostream>using namespace std;int main() { int a[3] = {0, 1, 2}; int i = 0, n = 3; for(i = 0 ; i < n - 1; i++){ cout << a[i] <<" " << a[i+1]<< endl;原创 2021-02-22 09:09:00 · 10664 阅读 · 4 评论 -
【❤️Mark一下❤️】markdown中写上标、下标
需求:需要在markdown写一些公式,里面会涉及上标、下标。例如,2n、TA等。处理markdown语法是可以嵌套html语法的,所以参考html里的上标下标语法即可。示例写法:2<sup>n</sup>T<sub>A</sub>最终效果:2nTA附录:html<sup>、<sub>标签<sup> 标签可定义上标文本。包含在<sup> 标签和其结束标签 </sup> 中的原创 2021-02-20 15:50:58 · 14523 阅读 · 2 评论 -
【三分钟刷一题力扣】移除元素
原题:力扣链接:27. 移除元素题目简述:给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。代码:#include <iostream>using namespace std;class Solution {public: int removeElement(原创 2021-02-03 10:17:14 · 287 阅读 · 2 评论 -
【搞openssl,看这篇就够了!】openssl1.1.1g编译(windows linux)
openssl1.1.1g编译智能sdk需要集成openssl以支持https,选用openssl1.1.1g版本,编译静态库集成。windows编译需要确保系统具备ActivePrel与nasm工具环境。win32版本编译使用vs2008自带的 32位命令行工具编译,在openssl-1.1.1g源码目录下输入指令: perl Configure VC-WIN32 no-shared no-asm no-tests nmak原创 2021-01-29 15:27:42 · 12578 阅读 · 4 评论