Buf
  • 2024-10-01STM32出现HardFault_Handler故障的原因1. **内存溢出或访问越界** 2. **堆栈溢出**
    STM32出现HardFault_Handler故障的原因STM32系统中,HardFault_Handler故障主要有两个方面的原因:内存溢出或访问越界堆栈溢出最近我遇到的问题是栈溢出,情况如下:staticchardata[10000];voidfun1(unsignedchar*buf){inti=0;for(i=0;i<5000;i++)
  • 2024-09-29Web服务器小项目(Linux / C / epoll)
    欢迎访问我的另一个博客:https://xingzhu.top/注意:前置知识:HTTP:https://xingzhu.top/archives/web-fu-wu-qiLinux多线程:https://xingzhu.top/archives/duo-xian-cheng源码放github上了,欢迎star:https://github.com/xingzhuz/webServer思路实现代码server.h
  • 2024-09-28ion flush 的作用
    在Linux系统中,`ion_allocator`和相关的`ion`(Input/OutputMemoryManagement)框架通常用于高效地管理内存缓冲区,这些缓冲区可以在不同设备之间共享,如GPU、CPU和其他DMA(DirectMemoryAccess)设备。`ion`框架特别适用于那些需要频繁进行内存映射和取消映射操作的系统,比如视频
  • 2024-09-28buuctf pwn jarvisoj_level01
    首先,将下载的文件用checksec检查一下然后我们将其放入ida64中,按tap键查看源码点开vuln函数,看见有read,buf,发现buf占0x80空间,而,read里面有0x200,所以会有溢出。这里显示buf的地址为0x80+8,即136。然后有发现有system函数那就简单多了,它的起始地址为0x400596接下来写代码
  • 2024-09-28加塞
    加塞rnk7,\(100+30+10+15=155\)。题目来源:2022牛客OI赛前集训营-提高组(第三场)T1一般图最小匹配说的很复杂,实际水题。就是从\(n\)个数中选\(2m\)个数,两个两个求差后,求这个差的和的最小值。显然排序之后求差是最小的,但显然不能直接贪心,考虑DP。先排序,然后设\(\mathit
  • 2024-09-28rust-BufReader逐字符读取
    BufReader有一个fill_buf的方法:fnfill_buf(&mutself)->Result<&[u8]>它可以返回它的内部buffer,如果buffer是空的,就填入更多数据再返回。这样我们就可以逐个读取其内部buffer的字符,且不需要额外申请空间了。通过fill_buf返回的buffer处理完了一些数据之后,可以通过consume来
  • 2024-09-28Android CCodec Codec2 (十五)C2DmaBufAllocator
    Codec2框架采用了全新的Buffer分配机制C2Allocator,这一篇文章我们一起来瞧瞧C2DmaBufAllocator是如何工作的。1、C2AllocatorC2Allocator声明在C2Buffer.h中,它定义了如下接口:getName:返回Allocator独一无二的名称;getId:返回Allocator独一无二的id;getTraits:返回Allocator
  • 2024-09-26如果将一个数组Buf放到Flash的地址上为0X08020000的位置,要如何修改这个数组中的值?
    如果你将数组Buf放在Flash地址0x08020000,并希望修改这个数组中的值,需要遵循以下步骤:解锁Flash:首先需要解锁Flash,以允许进行写操作。擦除页面:在写入新数据之前,必须擦除相应的Flash页面(或扇区)。写入数据:使用编程指令将新的数据写入到Flash。锁定Flash:完成
  • 2024-09-242024/9/24
    P1314聪明的质检员来翻历届真题,发现这道题还没过。首先瞪眼可知\(y\)具有单调性,所以想到二分。先不考虑\(check\)函数,把过程写了。这道题和常规二分不同,因为要考虑绝对值,所以需要对\(mid\)分正负两种情况考虑。然后在纸上画了画,基本定型以后开始写。写了15min以后发
  • 2024-09-24ARS展览项目(六)——Socket通信
    本篇前提说明因为我这边做的是表情识别,另外一边做的是贪吃蛇的动作。贪吃蛇的食物就是我的表情,所以要把两者的数据连接起来。贪吃蛇用JAVA来做,我用C++,然后两者可以用Socket来进行数据连接。设计时候是贪吃蛇用客户端,我这边是服务端。本项目在该文档的基础上修改,https://blog.cs
  • 2024-09-23Kernel Stack栈溢出攻击及保护绕过
    前言本文介绍Linux内核的栈溢出攻击,和内核一些保护的绕过手法,通过一道内核题及其变体从浅入深一步步走进kernel世界。QWB_2018_core题目分析start.shqemu-system-x86_64\-m128M\-kernel./bzImage\-initrd./core.cpio\-append"root=/dev/ramrw
  • 2024-09-23Kernel Stack栈溢出攻击及保护绕过
    前言本文介绍Linux内核的栈溢出攻击,和内核一些保护的绕过手法,通过一道内核题及其变体从浅入深一步步走进kernel世界。QWB_2018_core题目分析start.shqemu-system-x86_64\-m128M\-kernel./bzImage\-initrd./core.cpio\-append"root=/dev/ramrwconsol
  • 2024-09-23socket通信中的大小端问题及解决措施
    本人一直有个疑惑,大小端通信怎么存储(以前一直知道这个概念,但怎么都跟实际匹配不上,网络上也并没有说怎么处理大小端通信问题)socket通信中addr需要转换成网络字节序,也就是大端助记:htonlh->host缩写n->net缩写l是类型缩写(l->long ll->longlongsshort都是无符
  • 2024-09-21Netty笔记09-网络协议设计与解析
    文章目录前言一、协议设计1.数据格式2.消息长度3.编码方式4.错误处理5.安全性二、协议解析1.消息分隔2.粘包与半包处理3.校验机制三、为什么需要协议?四、redis协议五、HTTP协议六、自定义协议要素编解码器
  • 2024-09-19常见滤波算法
    下面是10种经典的软件滤波方法的程序和优缺点分析:1、限副滤波A、方法:根据经验判断,确定两次采样允许的***大偏差值(设为A),每次检测到新值时判断:如果本次值与上次值之差<=A,则本次值有效如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值B、优点:能有效克服因
  • 2024-09-18基于STM32的智能水质监测系统设计
    文章目录前言资料获取设计介绍功能介绍设计程序具体实现截图参考文献设计获取前言
  • 2024-09-18CF1144G Two Merged Sequences
    首先我们考虑最暴力的方法,仿照着LIS板子题设计状态:\(dp_{i,j}\)表示考虑前\(\max(i,j)\)个,单减序列以\(i\)结尾,单增序列以\(j\)结尾,然后进行\(O(1)\)的转移。但是这样状态数就爆炸了,如何优化状态数呢?我们考虑进行换维。因为我们刚刚设计的是一个弱鸡的可行性DP,很强
  • 2024-09-17网络编程速递小项目
    一.项目需求功能描述:仿照顺丰速运功能,实现一个自己的速递项目。自行定义项目名,最终可以提现到简历中服务器:处理客户端的请求,并将数据存入数据库中,客户端请求的数据从数据库进行获取,服务器转发给客户端。用户客户端:实现账号的注册、登录、注销、修改用户密码功能,当登录成
  • 2024-09-17蓝桥杯-STM32G431RBT6(串口)
    前言一、配置二、使用步骤1.串口发送代码逻辑效果展示2.串口接收单个字符代码逻辑中断回调函数3.串口接受字符串代码逻辑字符串函数中断回调函数声明代码开源前言一、配置二、使用步骤1.串口发送代码逻辑sprintf(tx_buf,"jinke\r\n"):这行代码使用
  • 2024-09-17CRC 计算 C 语言例子
    #include<stdio.h>#include<stdint.h>#include<stdlib.h>voiduint32_2_bin(char*buf,uint32_tval){uint32_tb=0x80000000;while(b>0){if(val&b)*buf='1';else*buf='0';
  • 2024-09-16内存对齐和缓冲区溢出攻击
    一、问候语欢迎你来到我的博客!二、什么是内存对齐  计算机中内存空间都是按照字节(byte)进行划分的,所以从理论上讲对于任何类型的变量访问都可以从任意地址开始,但是在实际情况中,在访问特定类型变量的时候经常在特定的内存地址访问,所以这就需要把各种类型数据按照一定的规则
  • 2024-09-14c语言快递小项目
    structpack_head{  intfd;//通信的文件描述符  unsignedchartype; //消息类型  unsignedcharusertype;//用户类型:1:用户 2:快递员   charname[32]; //用户名  charpaaswd[32];//密码  charbuf[32]; //调试信息  stru
  • 2024-09-14进程间通信-管道
    管道管道的由来:不同进程对于同一文件的读写时,进程一对文件读的时候,进程二需要等到进程一读完关闭文件,进程二再打开进行相应的操作;而管道却可以实现多个进程对同一文件边读边写;无名管道PIPE特征没有名字,无法使用open()(可以使用read\write)只能用于亲缘进程(父子进程、兄弟进
  • 2024-09-13Linux进程状态
    进程的生老病死进程状态说进程是动态的活动的实体,指的是进程会有很多种运行状态,一会儿睡眠、一会儿暂停、一会儿又继续执行。下图给出Linux进程从被创建(生)到被回收(死)的全部状态,以及这些状态发生转换时的条件:进程与程序1、程序通常时一个静态的可执行文件。2、进
  • 2024-09-12网络编程基础项目一:TCP实现FTP功能
    目录FTP核心原理项目功能介绍: 大致思路复习stat函数stat获取当前路径下文件的属性代码服务器客户端 总结FTP核心原理客户端连接服务器后,向服务器发送一个文件。文件名可以通过参数指定,服务器端接收客户端传来的文件(文件名随意),如果文件不存在自动创建文件,如果