自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 收藏
  • 关注

原创 快速漫游(11r+1x(md5))时序图

2021-08-01 10:04:53 186

原创 CUnit单元测试代码实例

#include <stdio.h>#include <stdlib.h>#include <assert.h>#include "CUnit/Basic.h"#include "CUnit/TestDB.h"#include "CUnit/CUnit.h"int max(int i, int j){ return i>j? 0: -1; }void test1(){ CU_ASSERT_EQUAL(max(1,0), 0);

2021-07-17 21:00:26 532 2

原创 linux下的系统环境变量名称

PATH:可执行文件的查找路径LD_LIBRARY_PATH:静态库的查找路径(待补充…)

2021-07-17 11:36:36 201

转载 C语言单元测试工具CUnit编译

linux C单元测试工具CUnit的编译安装及使用1 下载CUnit安装包CUnit-2.1-3.tar.bz2保存至/home/用户/(安装包版本为文章做成时2016-05-25的最新版本)https://sourceforge.NET/projects/cunit2 解压缩安装包tar jxvf CUnit-2.1-3.tar.bz23 进入解压后的文件夹CUnit-2.1-3cd CUnit-2.1-34 执行make,分别执行以下命令aclocalautoheaderauto

2021-07-17 11:25:37 380

转载 mysql5.7未提示输入密码,安装后修改mysql密码默认密码

Ubuntu16安装mysql5.7未提示输入密码,安装后修改mysql密码默认密码mysql默认密码为空但是使用mysql -uroot -p 命令连接mysql时,报错ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’此时修改root的默认密码即可1.进入到etc/mysql 目录下,查看debian.cnf文件2.找到用户名,密码 ,使用此账号登录mysql用户名:debian-sys-maint密码:xedvS

2021-05-23 18:51:24 156

原创 网络中同vlan的终端二层隔离的核心设计

目的mac和源mac都不是网关mac的报文丢弃

2021-01-12 22:45:40 319

原创 从内核源码中读懂红黑树

前言曾经有一段时间想自己写一个红黑树。但是有一块逻辑一直没有搞顺畅,是:在删除一个黑色节点,且父节点和兄弟节点为黑色。后来看内核网络子系统的源码时,又想到了红黑树。看到别人写的逻辑才知道自己做的路有多弯!本文主要讲一下删除和添加的逻辑。首先解读一下内核源码(我看的是低版本的内核,所以会有一些bug),然后介绍一下我自己想到的逻辑。变色时需要注意的点一个兄节点和叔节点可以直接变黑,但不能直接变红。因为变红需要考虑到其子节点没有红色,所以不要用让兄节点和叔节点变红的操作,否则后边会有一堆麻烦,子..

2021-01-03 17:09:36 66

原创 dhcp 请求IP成功的四次交互报文

dhcp discoverdhcp offerdhcp requestdhcp ack

2020-10-28 23:02:11 730

原创 linux进程间同步——互斥锁与条件变量

互斥锁创建//互斥锁是静态分配的(不是动态申请的)static pthread_mutex_t mutex_lock = PETHREAD_MUTEX_INITIALIZER;加/解锁#include <prhread.h>int pthread_mutex_lock(pthread_mutex_t mutex_lock);int pthread_mutex_trylock(pthread_mutex_t mutex_lock); //如果互斥锁被锁住,返回 E

2020-07-18 18:01:45 401

原创 linux 进程间通信——消息队列

使用方法使用有效文件或文件夹路径得到一个键值#include <sys/types.h>#include <sys/ipc.h>key_t ftok(const char *pathname, int proj_id);//1. ftok函数会先的到pathname的stat结构体,//2. 将proj_id的 低8bit 和stat.st_dev的 低12bit 以及stat.st_ino的低 12bit 按高位到低位的顺序组合到以起使用key值得到消息队

2020-07-12 08:15:04 156

原创 linux 进程间通信——管道

基本应用无名管道(pipe)//1. 创建一个有两个元素的一维数组 int pipe[2];//2. 使用pipe或pipe2函数将数组变为无名管道 if(0 == pipe(pipe)) //(pipe[0]--读,pipe[1]--写)//3. 创建一个子进程 pid_t pid = fork();//4. 子进程和父进程按需要关闭其中一端if(pid == 0) //子进程{ if(child write to parent) close(pipe[0]); else

2020-07-11 10:37:55 264

原创 搭建开发板使用电脑(win10)的无线网卡上网环境

步骤:设置电脑无线网卡属性设置开发板的网络环境延申:linux虚拟机网卡的接入方式为:桥接网卡,桥接到电脑的有线网卡上后,可以实现linux虚拟机开启一个网卡也能达到既可以上网也能传输文件到开发板的功能。具体实现方法:右键点击win10系统的开始图标,软后点击菜单中的“网络连接”。点击“更改适配器选项”进入”网络连接“页面选择有网络的无线网卡,点击右键出现菜单后,点击菜单最下放的”属性“进入“WLAN属性”页面点击共享,之后按图中配置点击确定后会弹出下面对话框,红框中是

2020-05-24 15:11:25 848

原创 linux 进程常用操作

常用操作获取和设置进程标识创建一个子进程进程退出清理退出的子进程资源执行一个新程序对应函数获取和设置进程标识设置进程用户ID或组ID时,只能由特权用户权限向非特权用户权限进行设置。一般用于限制用户的操作权限。获取进程号//获取本进程号pid_t getpid(void);//获取父进程号pid_t getppid(void);获取进程标识//获取进程实际...

2020-03-24 21:01:55 91

原创 linux服务进程实现

思路创建一个网络socket,接收其他主机的连接。收到连接clifd后,创建一个线程去处理后续,主线程继续等待其他主机连接。子线程首先创建一个unix socket,用于发送clifd。然后创建一个子进程去处理clifd的后续请求。代码全局头文件communication.h#ifndef __HEADER__#define __HEADER__#includ...

2020-03-22 15:17:57 164

原创 linux 进程环境

内存a. 代码段又叫正文段。这部分存放的是进程的执行代码,是进程中所有线程所共享的,并且是只读的。常量也放在代码段里。 b. 初始化数据段。又叫数据段,存放程序代码里初始化时赋值过的变量。c. 未初始化数据段。又叫bss段,存放程序代码里初始化时未赋值过的变量。d. 栈。存放函数调用时申请的临时变量,在函数返回时释放。e. 堆。存放动态申请的变量,调用free()释放 或 进程结束...

2020-03-10 07:57:18 96

原创 linux文件夹操作

文件夹操作步骤:获取文件夹路径(绝对路径 或 相对路径)打开文件夹读取文件夹下的文件信息,操作文件关闭文件I/O,关闭文件夹I/O获取文件夹路径直接给出一个字符串获取当前文件夹路径,去找相对路径//获取当前工作路径char *getcwd(char *buffer, size_t size); 成功:返回 指向 buffer 的指针; 失败:返回 NULL打...

2020-03-08 17:49:42 170

原创 linux 标准I/O和标准库I/O

I/O的英文全拼就是 Input/Output,就是输入/输出的意思。I/O也叫I/O流,就是将数据比作水一样来回的流来流去。所以,通常说的“一个流”对于标准I/O来说就是一个文件描述符(fd)所代表的I/O,对于标准库I/O来说就是一个文件指针所代表的I/O。对于文件I/O的三个标准操作步骤就是:>1. 打开文件>2. 操作文件内容xi在这里插入代码片>3. 关闭文件...

2020-03-05 21:47:24 228

原创 win10已安装NVIDIA驱动打不开界面

进入 https://www.microsoft.com/zh-cn/p/nvidia-control-panel/9nf8h0h7wmlt?rtc=1&activetab=pivot:overviewtab可在微软商店中免费下载NVDIA界面

2020-01-09 22:56:18 3078

原创 霍夫曼压缩算法(初识)

名词解释霍夫曼表:由一组数据中出现的字符及其出现的频率组成。霍夫曼树:由一组数据中出现的字符组成的二叉树。核心步骤将数据看成由 n 个8 bits(一个字符)组成的集合,n 为数据包含字符的总数。第一次遍历数据,统计每个字符出现的频率,生成霍夫曼表,由霍夫曼表生成霍夫曼树。第二次遍历数据,同时压缩数据。在霍夫曼树上遍历数据中第 m 个字符,若进入左子树,则在压缩后的缓存区最后有效...

2019-12-24 20:49:10 584

转载 M-LAG

原文连接:https://forum.huawei.com/enterprise/zh/thread-228021-1-1.html

2019-12-05 19:15:34 438

转载 文件系统编译进内核

1、利用busybox制作根文件目录。(需要有init 和 linuxrc)2、makemenuconfig 在general setup 中设置 initial ram filesystem and RAM disk 后指定文件系统源文件路径.3、makemenuconfig 在boot options 中指定 kernel command line type选择 always use…d...

2019-12-03 14:37:23 351

转载 TCP报文格式详解

https://www.cnblogs.com/feng9exe/p/8058891.html

2019-10-15 10:53:03 172

原创 UBoot知识总结

Uboot简介由德国DENX小组开发,支持多cpu(MIPS、x86、ARM等)、多系统(linux、Vxworks、QNX)。下载:http://sourceforge.net/projects/uboot启动流程(看:Uboot启动流程)stage1:上电初始化硬件。(start.S)(复位代码)a. 设置异常向量b. 进入SVC模式,屏蔽 irq 和 frqc. ...

2019-08-25 09:56:58 234

转载 Uboot启动流程及添加命令

https://wenku.baidu.com/view/7448f134f46527d3240ce0e3.html?from=search

2019-08-25 09:02:25 115

转载 linux下压缩和解压各种文件类型

压缩tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg tar –czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将...

2019-08-20 21:44:22 273

原创 不同进制整数转字符串

参数dest : 目标字符串型内存sour: 十进制或十六进制整数rate:进率(10 or 16)int ixtoa(char *dest, int sour, int rate){ char tmp[16] = {0}; int i = 0, j = 0; while(sour) { j = sour % ...

2019-08-16 14:54:19 111

原创 svn基本命令

svn add 添加新文件svn add file pathsvn co 下载文件svn co svn://ipaddress/file pathsvn ci -m “备注” 上传文件(不包括新加文件,可能只传 .c和 .h文件)svn state 显示与当前版本不同的文件M开头 修改文件A开头 新加文件?开头 本地有,服务器没有的文件svn list 显示...

2019-08-13 10:16:54 94

原创 js 读取和写入本地文件

读:调用方法<input type="file" name="file" id="file_1" οnchange="openfile(this.file)"></input>函数体:<script>function openfile(event) { var inpu...

2019-08-02 14:42:46 13544 4

转载 Makefile和GDB

GDB:https://blog.csdn.net/haoel/article/details/2879Makefile:https://blog.csdn.net/haoel/article/details/2886

2019-07-21 23:01:30 142

转载 Linux下gdb调试生成core文件并调试core文件

https://blog.csdn.net/wkd_007/article/details/79757289.core文件由系统生成,不能手动生成。

2019-07-19 14:38:28 326

原创 用子网掩码长度获得掩码ip

int calculate_mask(char *mask, char *length){ int len = 0; int sub_mask = 0; int i = 0; sscanf(length, "%d", &len); for(i = 31; i >= 32 - len; i--) { sub_m...

2019-07-18 10:39:29 1194 1

原创 计算string中sign char距离开头的距离

20 enum serial 21 { 22     just,       /* == sign / 23     against     / != sign / 24 ...

2019-07-18 10:35:35 118

转载 守护进程

https://www.cnblogs.com/bhlsheji/p/4591484.html

2019-07-16 22:28:16 100

转载 静态ARP

https://forum.huawei.com/enterprise/zh/forum.php?mod=viewthread&tid=429973

2019-07-16 09:03:30 1872

转载 高级套接口-(sendmsg和recvmsg)

http://blog.chinaunix.net/uid-20937170-id-4247670.html

2019-07-15 22:06:44 154

原创 vbox软件虚拟机与宿主机共享粘贴板

打开共享粘贴板设置在设置–>常规–>高级设置界面中有共享粘贴板和拖放的下拉列表选择框选择 I/O缓存在设置–>存储–>控制器界面有使用主机输入输出(I/O)缓存选项,打勾...

2019-07-14 18:13:28 1086

转载 linux 命令大全

https://www.runoob.com/linux/linux-command-manual.html

2019-07-03 19:18:40 70

转载 js复制一个对象

https://www.cnblogs.com/hjbky/p/9068258.html

2019-06-20 19:40:07 654

转载 linux启动流程

https://www.cnblogs.com/bluestorm/p/5981435.htmlhttps://linux.cn/article-8807-1.html

2019-06-19 07:38:29 70

转载 js学习网页

http://www.w3school.com.cn/js/js_examples.asp

2019-06-14 07:20:40 205

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除