- 博客(96)
- 资源 (14)
- 收藏
- 关注
原创 windows -- 使用VSCode + CMake + MinGW搭建C/C++编译、调试、运行环境
前面编辑发送的数据结构系列文章,用到了在 windows 系统下使用 VSCode+CMake+MinGW 工具使用编辑、调试、运行的一通 piapia~ 的操作,那么有小伙伴询问我相关的设置、配置的问题,今天难得有时间就详细的说明一下。希望能够帮到更多的小伙伴。嘻嘻嘻嘻。。。。。
2020-04-06 22:21:24 14439 52
原创 OpenWRT配置 -- 修改用户名、密码以及网页用户名的修改
openwrt系统默认的用户名是root,并且web页登录页面也默认是填充用户名root的状态,所以在考虑到安全性以及自己的个性,所以需要自己制定自己喜欢的用户名和密码。一、修改密码1、在openwrt开发板上密码使用指令 passwd,直接输入密码即可完成密码重置。2、修改源码实现实现密码的永久指定现在开发板上使用指令 passwd 修改密码,然后将/etc/shadow ...
2020-01-15 09:56:35 42882 2
原创 Linux -- 使用netfilter_queue修改数据包以及需要的环境搭建
环境:ubuntu 16.04 64bitLTS下面的内容只是一些安装测试的步骤和方法的记录,并没有什么实质性和原理的说明,主要为作者本人记录的远程笔记,如果有幸对您也有帮助,请您顺手顶一下,如果您觉得您是在看不下去,也请不要喷我,毕竟学习不易,小白辛苦的学习还是需要鼓励的,先谢谢您呐!(滑稽狗头.jpg)在项目中需要使用netfilter_queue修改数据包,然后习惯性的先找了度娘...
2019-11-24 01:54:02 12545 6
原创 Xshell -- SSH无法连接linux服务器的几个坑
莫名其妙的ssh就连接不上服务器了,明明之前还是好用的呢,就简单的提示如下:图1 连接失败提示1、看看是不是因为防火墙的原因呢sudo ufw status图2 防火墙状态看来防火墙是关闭的,那么打开防火墙再试试呢(反正不知道可不可以,试试再说。。。)sudo ufw enable/disable 使能防火墙并且开机自启动/不使能防火墙图3 打开防...
2019-07-24 16:40:36 21647 8
原创 Linux -- Makefile的学习笔记以及多级目录下Makefile的编写
一、Make简介:工程管理器,顾名思义,是指管理较多的文件,Make工程管理器也就是个“自动编译管理器”,这里的“自动”是指它能够根据文件时间戳自动发现更新过的文件而减少编译的工作量,同时,它通过读入Makefile文件文件的内容来执行大量的编译工作,Make将只编译改动的代码文件,而不用完全编译。Makefile文件一般和项目的其他源文件放在同一个目录下。在机器上可以同时存在许多不同的m...
2019-03-11 18:32:53 37965 9
原创 VScode -- 调试C语言的设置(win10,Linux)
作为一个程序猿,编程的时候不能方便的进行在线调试是多么痛苦的事情呀,虽然在Linux环境下GDB调试很方便,但是作为小脑容量+手残党的小白来说,GDB真的很烦呀!直到在2018年的4月份的一个月高风黑的夜晚,遇到了Vscode……中途好长时间没有在用Vscode调试,直到最近某一天想写一个module程序,在调试的时候竟然告诉我,属性已经弃用……,晴天霹雳呀,我的天!所以,痛定思痛,没有一...
2018-12-21 12:02:26 26803 6
原创 C语言 -- 字符串和十六进制的相互转换方式
C语言的字符串操作并不像java,Csharp那样提供直接的方法,简单粗暴。所以,在转换的时候往往费力费时,近日做项目正好用到和java程序通讯,java发送过来的数据是十六进制数字组成的字符串,解析的时候颇费心思才算完成,所以,权在此做一笔记,方便以后查看,以及需要帮助的童鞋,当然,有问题欢迎随时交流,一同进步,欧耶!~一、将数组转换为十六进制同值的字符串 读取数组中的数字,打印成字...
2018-10-17 16:53:21 57153 6
原创 C语言 -- 字符串中根据特定字符(串)分割
C语言字符串操作函数有很多,这里举出需要用到的,其他请自行查找。1、len = strlen(p) ;//取字符串长度原型:size_t strlen(const char *s);功能:统计字符串string中字符的个数,字符串的长度在size_t 返回值中。注意:strlen函数的功能是计算字符串的实际长度,不包括'\0'在内。另外,strlen函数也可以直接测试字符串常...
2018-10-16 13:41:58 23426 1
原创 Linux -- Ubuntu 修改Home目录下的中文目录为英文
在安装Ubuntu系统时如果选则了中文安装系统,则在安装完成后默认在home目录下自动创建几个常用的目录,并且目录名称自动选择为安装系统时选择的语言。界面上操作回方便使用,但是如果在终端上操作就会很感到很忧伤,因为你需要在终端敲入中文(Ubuntu 16.04终端支持中文输入,Ubuntu 14.04也可以,(博主自己为ubuntu 18.04也可)但具体在哪一个版本开始支持的就不了解了),这种输入方式会让人极度不习惯。
2022-10-24 20:30:31 3912 3
原创 Linux系统下基于setitimer的高精度嵌入式软件定时器实现方案
基于上一篇博文Linux环境下的setitimer的延时/定时器的使用,我们已经了解定时器 setitimer setitimer 在同一个进程中只能使用一个的缺点,作为一个嵌入式的开发人员总觉得有点说不出的苦恼,那么本博文将基于这种力不从心的苦恼,编写一个满足基本要求的软件定时器。...
2022-07-02 22:39:27 1555
原创 Linux环境下搭建本地git服务和客户端(超级详细)
本文主要说明在本地电脑上部署git服务器和客户端的过程。设置的过程详细的令人发指,如果是初学或者不熟悉git的相关指令的话,那么本文将会是最优的指导
2022-06-19 22:37:55 2618 1
原创 利用VS2010生成win32和win64的动态库的方法(详细图文说明)
利用VS2010生成win32和win64的动态库的方法,用超级详细的步骤加上图片示意,说明动态库的生成与测试的完成的详细的过程,非常适合新手尝试。
2022-06-16 22:14:17 3062
原创 Linux环境下的setitimer的延时/定时器的使用
在linux C嵌入式开发编程中,经常会遇到精度要求比较高的周期性的定时事件,对于一般性要求 1ms 级别的精度,linux下可以使用 select() 函数实现,但是 select() 有一个弱点就是其 定时的误差会累积,运行到一定程度的时候,实际误差可能已经超出了允许的范围,那么在这种情况,setitimer() 函数可以解决误差累积这样的问题。...
2022-05-22 22:43:43 5161
原创 Makefile自动搜所目录及子目录下的的所有文件、自动生成编译目录
makefile进行项目管理,进行多目录文件编译、编译过程中自动生成编译目录、自动搜所当前目录下的所有源文件、生成静态库、合并静态库、静态库中函数的交叉调用等。根据一个比较特殊的需求而编写的一个工程模板,内容比较杂单没有进行系统性的解释说明。
2022-05-15 22:18:48 7466 5
原创 Linux系统自己打造的vim配置文件(自用)
做嵌入式开发,经常能够在一些新的环境下配置各种各样的环境,做为默认使用的编辑器,VIM非常重要,但是每次都要折腾来折腾去的配置,所以今天特意记录一下,方便后续直接使用。
2022-05-13 21:48:14 523
原创 Linux环境设置用户自定义应用的开机自启动
做 Linux 嵌入式开发,经常会遇到要设置自己的应用程序在系统开机的时候自动启动,并且一般情况我们不想安装一些额外的软件去实现此种需求。那么直接根据当前系统自带的默认的一些工具实现用户软件的开机自启动。
2022-05-09 22:37:23 6348
原创 markdown中让表格居中的写法
示例表格序号偏移说明10表格说明22表格说明34表格说明实现的代码是下面这样的。<!-- 让表格居中显示的风格 --><style>.center { width: auto; display: table; margin-left: auto; margin-right: auto;}</style><p align="center"><font fac..
2022-04-21 22:07:56 13390
原创 Linux -- 多线程编程之 - 基础实现二
为了进一步减少处理器的空转时间,支持多处理器以及减少上下文切换的开销,进程在烟花中出现了另一个概念 --- 线程,它是进程内独立的一条运行路线,是内核调度的最小单元,也被成为轻量级进程。线程具有高效性和可操作性,在嵌入式发开中运用的十分广泛。
2022-03-17 23:11:10 2773
原创 Linux -- 多线程编程之 - 基础实现一
为了进一步减少处理器的空转时间,支持多处理器以及减少上下文切换的开销,进程在烟花中出现了另一个概念 --- 线程,它是进程内独立的一条运行路线,是内核调度的最小单元,也被成为轻量级进程。线程具有高效性和可操作性,在嵌入式发开中运用的十分广泛。
2021-12-27 22:42:13 5162 1
原创 Linux -- 多进程编程之 - 守护进程的出错处理
因为守护进程完全脱离终端控制,所以不能像其它进程一样将错误信息输出到控制终端。所以如何处理错误消息是一个问题。在Linux系统中,一般通用的办法是使用syslog服务,将程序中出错信息输入到系统日志文件中(如"/var/log/messages",此文件需要用用root权限的用户查看),从而可以直观地看到程序的问题所在。在不同的Linux发行版中,系统日志的文件路径全名可能有所不同(比如可能是"/var/log/syslog")。
2021-12-05 21:53:40 6272
原创 Linux -- 多进程编程之 - 守护进程
守护进程是一个生存期较长的进程,他常常在系统引导装入是启动,仅仅在系统关闭的才终止。也就是通常所说的 Daemon 进程,是 Linux 中的后台服务进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。 Linux 中很多系统服务都是通过守护进程实现的。
2021-11-27 23:37:31 7076
原创 Linux -- 多进程编程之 - 僵尸进程
僵尸进程是当子进程比父进程先结束,而父进程又没有回收子进程,释放子进程占用的资源,此时子进程将成为一个僵尸进程。
2021-11-13 23:53:34 5544 4
原创 Linux -- 多任务机制(任务、进程、线程)介绍
多任务处理是指用户可以在同一时间内运行多个应用程序,每个正在执行的应用程序被称为一个任务。 Linux就是一个支持多任务的操作系统,多任务操作系统使用某种调度策略支持多个任务并发执行。事实上。(单核)处理器在某一时刻只能执行一个任务。每个任务创建时被分配时间片(几十到上百毫秒),任务执行(占用CPU)时,时间片递减,操作系统会在当前任务的时间片用完时调度执行其他任务。由于任务会频繁地切换执行,因此给用户多个任务同时运行的感觉。多任务操作系统中通常有3个基本概念:任务、进程、线程。
2021-11-04 23:04:25 5809
原创 Linux -- exit()函数、_exit()函数、return的说明与使用
exit()函数和_exit()函数都是用来 终止进程 的。return是C语言关键字,主要用于子函数的返回,标识这个子函数的结束。
2021-10-24 09:15:00 9964
原创 OpenWRT编译 -- 出现‘...net/mac80211/mac80211.ko‘ is missing的错误
大爷来进来玩呀(*^▽^*)
2021-10-24 00:36:47 5472 15
原创 Linux -- Linux下库的生成和使用
在写程序的过程中,基本上都要依赖各种各样的库,比如标准C库等等,使用库也很大程度上减少了重复不必要的编程,也使得编写的程序精简不少。所以,当我们在编程中用到自己开发的使用比较频繁的资源的时候,也希望能够编译成库的模式。在需要用到的时候直接引用即可。那么接下来就简单描述下在 Linux 环进行的动态库和静态库的生成和使用。
2021-03-19 17:43:09 5570 4
原创 C语言 -- string.h中函数功能详解与手动实现 - 03(常用函数memchr、strchr、strstr、strspn、strlen、strnlen...)
一般系统中提供一个标准的 C库 string.h ,用于操作各种操作字符串 strxxx、内存 memxxx 的库函数。作为 C标准库 的一部分,它们被强制要求可以在任何支持 C语言 的平台上运行。 不管是在面试中还是平时的工作中,对 string.h 文件中的大部分的函数的都有涉及,并且会经常遇到手撕某个或者某几个库函数的题目,其重要程度可想而知。
2021-01-27 22:20:41 3781
原创 C语言 -- string.h中函数功能详解与手动实现 - 02(常用函数memcpy、memmove、strcpy、strdup、strcat、strtok...)
一般系统中提供一个标准的 C库 string.h ,用于操作各种操作字符串 strxxx、内存 memxxx 的库函数。作为 C标准库 的一部分,它们被强制要求可以在任何支持 C语言 的平台上运行。 不管是在面试中还是平时的工作中,对 string.h 文件中的大部分的函数的都有涉及,并且会经常遇到手撕某个或者某几个库函数的题目,其重要程度可想而知。
2021-01-25 22:14:48 2886 12
原创 C语言 -- string.h中函数功能详解与手动实现 - 01(常用函数memset、memcmp、strcmp、strncmp ...)
一般系统中提供一个标准的C库 string.h ,用于操作各种操作字符串 strxxx、内存 memxxx 的库函数。作为 C标准库 的一部分,它们被强制要求可以在任何支持 C语言 的平台上运行。 不管是在面试中还是平时的工作中,对 string.h 文件中的大部分的函数的都有涉及,并且会经常遇到手撕某个或者某几个库函数的题目,其重要程度可想而知。
2021-01-24 14:43:42 3616 7
原创 数据结构(廿六) -- C语言版 -- 图 - 图的遍历 -- 邻接表 - 深度/广度优先遍历/搜索(DFS、BFS)
图是一种非线性的数据结构,图的遍历指的是:从图中的某一顶点出发,沿着一些边访问图中所有的顶点,使得每个顶点都被访问且仅被访问一次。根据遍历路径的不同,通常有两种遍历图的方法:深度优先遍历(Depth First Search)和广度优先遍历(Breadth First Search)。它们对无向图和有向图都适用,图的遍历算法是求解图的连通性问题、拓扑排序和求关键路径等算法的基础。
2020-12-19 19:16:50 5087 28
原创 数据结构(廿五) -- C语言版 -- 图 - 图的遍历 -- 邻接矩阵 - 深度/广度优先遍历/搜索(DFS、BFS)
图是一种非线性的数据结构,图的遍历指的是:从图中的某一顶点出发,沿着一些边访问图中所有的顶点,使得每个顶点都被访问且仅被访问一次。根据遍历路径的不同,通常有两种遍历图的方法:深度优先遍历(Depth First Search)和广度优先遍历(Breadth First Search)。它们对无向图和有向图都适用,图的遍历算法是求解图的连通性问题、拓扑排序和求关键路径等算法的基础。
2020-12-08 22:29:42 6323 8
原创 OpenWRT编译 -- 嵌入式系统Openwrt移植SQLite3数据库
SQLite是一个进程内库,它实现了一个自包含、无服务器、零配置、事务性SQL数据库引擎。SQLite的代码在公共域中,因此可以免费用于任何目的,无论是商业还是私有。SQLite是世界上部署最广泛的数据库,其应用程序比我们所能统计的还要多,其中包括几个引人注目的项目。SQLite是一个嵌入式SQL数据库引擎。与大多数其他SQL数据库不同,SQLite没有单独的服务器进程。SQLite直接读写普通磁盘文件。包含多个表、索引、触发器和视图的完整SQL数据库包含在单个磁盘文件中。
2020-12-05 19:05:01 4489
原创 Android -- 让我一个外行来告诉你Android的多Activity切换中保持Socket长连接的一个实现方法
主要介绍并实现在android中的socket客户端在多个界面切换时保持socket的长链接的实现说明。
2020-11-25 10:16:44 6101 38
原创 数据结构(廿四) -- C语言版 -- 图 - 图的存储结构 -- 十字链表、邻接多重表、 边集数组
在图中任何两个顶点之间都可能存在联系,所以图的存储结构应该需要根据具体问题的要求来进行设计。从图的逻辑结构定义来看,图中任何一个顶点都可以看成是第一个顶点。常用的存储结构有邻接矩阵、邻接表(逆邻接表)、十字链表、邻接多重表、 边集数组。
2020-09-05 22:56:42 7600 9
原创 数据结构(廿三) -- C语言版 -- 图 - 图的存储结构 -- 邻接表、逆邻接表
在图中任何两个顶点之间都可能存在联系,所以图的存储结构应该需要根据具体问题的要求来进行设计。从图的逻辑结构定义来看,图中任何一个顶点都可以看成是第一个顶点。常用的存储结构有邻接矩阵、邻接表(逆邻接表)、十字链表、邻接多重表、 边集数组。那么本博文将带你就 “邻接表(逆邻接表)” 来窥探一二。。。
2020-08-15 19:22:48 13947 1
原创 数据结构(廿二) -- C语言版 -- 图 - 图的存储结构 -- 邻接矩阵
在图中任何两个顶点之间都可能存在联系,所以图的存储结构应该需要根据具体问题的要求来进行设计。常用的存储结构有邻接矩阵、邻接表(逆邻接表)、十字链表、邻接多重表、 边集数组。那么本博文将带你就“邻接矩阵”来窥探一二。。。
2020-08-02 01:01:24 9078 19
linux下基于setitimer高精度多通道软件定时器
2022-05-19
Makefile自动搜所目录及子目录下的的所有文件、自动生成编译目录
2022-05-15
数据结构-树的实现代码(C语言版).rar
2021-10-27
数据结构-队列的实现代码(C语言版).rar
2021-10-27
数据结构-栈的实现代码(C语言版).rar
2021-10-27
数据结构-链表的实现代码(C语言版).rar
2021-10-27
数据结构-图的实现代码(C语言版).rar
2021-10-27
Android的多Activity切换中保持Socket长连接的一个实现方法
2020-09-26
SerialPortTest.rar
2020-05-05
字符串转换工具-含源码.rar
2020-02-15
nfqueue-tcpip-socket.rar
2019-11-24
C#下TCPIP的客户端和服务端的代码-winform
2019-02-25
生成MD5 32byte(256bit)的方法
2019-02-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人