• 2024-07-02P6754 [BalticOI 2013 Day1] Palindrome-Free Numbers
    数据范围一眼数位dp。关键条件为如果一个数字串的一个长度大于 11 的子串也为回文串的话,那么我们也定义这个数字串为回文串。仔细思考发现一旦两个连续的数相同(偶回文)或两个数隔一个数相同(奇回文)都是回文,所以要保证连续三个数不相同,记录前两位即可。注意事项:1.前导零不应为0
  • 2024-07-01heap
    堆块:chunk堆是以一个个的堆块构成的,这些堆块就叫chunkchunk的大小是8字节对齐,但是一个堆块的具体大小是16字节对齐的,比如一个堆块只能是0x40,0x50,0x60不会是0x48这样的数据其中一个堆块的header头部字节占16字节大小,也就是0x10字节64位程序下的最小长度是32字节大小的这里
  • 2024-06-23从零开始学习树莓派(二)
    树莓派的型号:RaspberryPiZero2w一、为树莓派系统更换源通上一部分的配置,我们已经可以正常的通过笔记本终端SSH连接到树莓派上了,接下来需要将树莓派的源更换为国内的源,便于更快的下载软件。但这里会遇到的问题是进度会一直卡在某个部分,出现如下的情况:这是由于树莓派内存不够
  • 2024-06-21【C语言】16.动态内存管理
    文章目录1.为什么要有动态内存分配2.malloc和free2.1malloc2.2free3.calloc和realloc3.1calloc3.2realloc4.常见的动态内存的错误4.1对NULL指针的解引⽤操作4.2对动态开辟空间的越界访问4.3对⾮动态开辟内存使⽤free释放4.4使⽤free释放⼀块动态开辟内存的⼀部
  • 2024-06-20linux 内存和cpu信息
    free#free[root@VM-0-14-centos~]#freetotalusedfreesharedbuff/cacheavailableMem:101482027236082932512659528577780Swap:000#-h以合适
  • 2024-06-20[转帖]剖析free命令
    https://perthcharles.github.io/2015/09/28/wiki-tool-free/  Linux中有许多的查看系统状态的命令,但是如果没有一些相关的背景知识就很容易造成误解。free命令就是一个明显的例子。本系列wiki就结合一些好的资料并结合自身理解来尝试剖析一些常用又常被误解的Linux命令
  • 2024-06-19C语言开发日志,问题记录(长期更新版本)
    一、程序存储与占用1.编译后内存分配编译后的Code(代码),RO-data(只读,譬如const),RW-data(读写,初始化非0的全局变量),存储在ROM(flash)中,ZI-data(初始化为0或者未初始化的变量),运行时ROM占用是Code+RO-data+RW-data运行时RAM占用是RO-data+RW-data+ZI-data;RW和ZI会被
  • 2024-06-17嵌入式 Linux 基础:环境配置(Debian 12 安装配置)
    目录一、安装虚拟机1、安装VMwareWorkstationPro注册博通官网注册账号下载VMwareWorkstationPro2、虚拟机安装Debian12下载Debian12镜像虚拟机设置配置(安装)debian12配置debian12环境3、配置Debian12软件设置Flatpak和Flathub安装微信二、其他开发环境配置一、安
  • 2024-06-14长城杯CTF2024-PWN-kawayi复现
    文件保护libc版本uaf漏洞free函数没有进行置0操作GDB断点断点:0xD90泄漏libc由于v1>3会退出,所以必须在四次申请堆块中拿到shell第一次申请-创建largebinchunk因为创建largebin的chunk堆块,所以申请的是0x430第二次申请-创建tcachebinchunk申请一个tcache
  • 2024-06-11[20240529]简单探究FREE LISTS列表.txt
    [20240529]简单探究FREELISTS列表.txt--//简单探究shraedpool的FREELISTS列表.1.环境:SYS@test>@ver1PORT_STRING         VERSION   BANNER                                                       
  • 2024-06-11[20240601]简单探究free list chunk size的分布.txt
    [20240601]简单探究freelistchunksize的分布.txt--//前几天探究探究freelist,无意中发现12c版本freelistchunksize的发生了变化.单独另外写一篇blog.--//我开始分析以为脚本执行有问题,仔细查看12c版本freelistchunksize分布发生了变化.--//我找了以前的11g下的转储,发
  • 2024-06-11[20240604]简单探究RESERVED FREE LISTS chunk size的分布.txt
    [20240604]简单探究RESERVEDFREELISTSchunksize的分布.txt--//前几天探究探究freelist,无意中发现12c版本freelistchunksize的发生了变化.单独另外写一篇blog.--//我开始分析以为脚本执行有问题,仔细查看12c版本freelistchunksize分布发生了变化.--//我找了以前的11g下
  • 2024-06-11C# hashset vs list
    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Management;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows;usingSystem.Windows.Controls;usingSystem.Windows.Data;usingSystem.Windows.Documents;us
  • 2024-06-11堆基础知识
    arenachunk通俗地说,一块由分配器分配的内存块叫做一个chunk,包含了元数据和用户数据。具体一点,chunk完整定义如下:structmalloc_chunk{INTERNAL_SIZE_Tmchunk_prev_size;/*Sizeofpreviouschunk(iffree).*/INTERNAL_SIZE_Tmchunk_size;/
  • 2024-06-11C语言笔记第14篇:动态内存管理
     1、为什么要有动态内存分配我们已经掌握的内存开辟方式有:创建变量charc=0;inta=0;intarr[10]={0};但是上述的开辟空间的方式有两个特点:空间开辟大小是固定的数组在声明的时候,必须指定数组的长度,数组空间一旦确定了大小不能调整但是对于空间的需求,不仅仅是
  • 2024-06-09零基础非科班也能掌握的C语言知识19 动态内存管理
    动态内存管理1.为什么要有动态内存分配2.malloc和free2.1malloc2.2free3.calloc和realloc3.1calloc3.2realloc4.常见的动态内存的错误4.1对NULL指针的解引用操作4.2对动态开辟空间的越界访问4.3对非动态内存开辟的空间free4.4使用free释放⼀块动态开辟内存的⼀部分4
  • 2024-06-08C语言详解(动态内存管理)1
    Hi~!这里是奋斗的小羊,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎~~
  • 2024-06-07C语言:(动态内存管理)
    目录动态内存有什么用呢malloc函数开辟失败示范free函数calloc函数realloc函数当然realooc也可以开辟空间常⻅的动态内存的错误 对NULL指针的解引⽤操作对动态内存开辟的空间越界访问对⾮动态开辟内存使⽤free释放使⽤free释放⼀块动态开辟内存的⼀部分对同一
  • 2024-06-05C之动态内存管理(动态内存开辟与调整等)
    目录1.为什么要有动态内存分配2.malloc、calloc、realloc和freemalloc:calloc:realloc:free:3.常见的动态内存的错误3.1:对NULL指针的解引用操作3.2:对动态开辟空间的越界访问3.3:对非动态开辟的内存使用free函数释放3.4:使用free释放一块动态开辟内存的一部分3.5:对同一块
  • 2024-06-03[FreeRTOS 基础知识] 堆
    文章目录堆的概念使用C语言实现堆堆空间解析堆的概念所谓的堆就是一块空间的内存,可以来管理这块内存。从这块内存中取出一部分然后再释放回去。使用C语言实现堆charheap_buf[1024];//定义一个堆空间intpos=0;//当前位
  • 2024-06-02【C语言进阶】--- 动态内存管理
    动态内存管理函数1.malloc函数void*malloc(size_tsize);功能:向堆区的空间中申请一块大小为size个字节的空间,返回指向这块空间的指针如果开辟失败会返回一个NULL指针,因此要检查malloc的返回值,避免返回NULL指针后再访问空指针malloc申请的空间,程序退出后会还给操作系统
  • 2024-06-02C语言之动态内存管理
    目录一、什么是动态内存分配二、malloc和free三、calloc和realloc四、常见的动态内存的错误 五、柔性数组六、总结 一、什么是动态内存分配动态内存分配是指在程序执行的过程中动态地分配或者回收存储空间的分配内存的方法。与静态内存分配不同,动态内存分配不需要
  • 2024-06-01delphi Image32 之 快速入门
     官方快速入门,加上了一些注解[从WORD粘贴后失去了样式]TImage32类是关键。TImage32 对象包含单个图像,所有图像操作都作用于此对象。usesImg32; //引用单元...img:=TImage32.Create; //创建TImage32对象//执行一些其它操作img.Free; //用完了要释放图像存储
  • 2024-05-31【C语言】动态内存管理
    前言为什么要有动态内存分配?可以回想一下目前为止,我们想要向内存申请一块空间存放数据,有哪些手段呢?目前我们遇到的方式主要有两种:一、创建一个变量。比如我们存放一个整型数据,就创建一个整型变量。(也就是申请4个字节)我们创建一个变量,存放了一个数据。intn=2077;二、如
  • 2024-05-30【c++基础(五)】内存管理--new
    1.前言在C语言中,有四个内存管理函数:malloc,calloc,realloc和free但是使用起来他们却是非常的不方便:int*p1=(int*)malloc(sizeof(int)*n);int*p2=(int*)calloc(4,sizeof(int));int*p3=(int*)realloc(p2,sizeof(int)*10);同时这里也会出现一个问题,malloc不会进