惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
V
Visual Studio Blog
P
Privacy International News Feed
月光博客
月光博客
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
L
Lohrmann on Cybersecurity
N
News and Events Feed by Topic
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Apple Machine Learning Research
Apple Machine Learning Research
阮一峰的网络日志
阮一峰的网络日志
Webroot Blog
Webroot Blog
T
Threatpost
宝玉的分享
宝玉的分享
The Last Watchdog
The Last Watchdog
小众软件
小众软件
L
LINUX DO - 最新话题
C
Cisco Blogs
T
Troy Hunt's Blog
Schneier on Security
Schneier on Security
酷 壳 – CoolShell
酷 壳 – CoolShell
www.infosecurity-magazine.com
www.infosecurity-magazine.com
雷峰网
雷峰网
G
GRAHAM CLULEY
有赞技术团队
有赞技术团队
Know Your Adversary
Know Your Adversary
博客园 - 叶小钗
罗磊的独立博客
V
V2EX
博客园 - Franky
P
Proofpoint News Feed
SecWiki News
SecWiki News
腾讯CDC
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Jina AI
Jina AI
博客园 - 三生石上(FineUI控件)
S
Secure Thoughts
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Google DeepMind News
Google DeepMind News
Attack and Defense Labs
Attack and Defense Labs
人人都是产品经理
人人都是产品经理
The Cloudflare Blog
PCI Perspectives
PCI Perspectives
V2EX - 技术
V2EX - 技术
Google DeepMind News
Google DeepMind News
Last Week in AI
Last Week in AI
aimingoo的专栏
aimingoo的专栏
Cisco Talos Blog
Cisco Talos Blog
N
News and Events Feed by Topic
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
S
SegmentFault 最新的问题

艾恩凝

ECC内存是如何发现错误并纠正 - 艾恩凝 2025-->2026 - 艾恩凝 减脂日记 - 艾恩凝 感慨几句 - 艾恩凝 花落花开,不管流年度 - 艾恩凝 一个很好用的开源库 - 艾恩凝 NVMe中的Copy命令你知道吗? - 艾恩凝 SGL与PRP - 艾恩凝 他年我若为青帝,报与桃花一处开 - 艾恩凝 内存映射概念及相关函数介绍 - 艾恩凝
动态内存分配函数 - 艾恩凝
aeneag · 2024-08-24 · via 艾恩凝

/  

动态内存分配函数

recIyqFSV6hf6QE3kJcDfjwgzn0puGLtXPX.png

哈喽,好久不见,消失的日子都在长胖,不更新的时光都在躺平

之前遇见了使用对齐内存的分配函数,所以想着总结一下,会用即可

相关函数

  • malloc
1void *malloc(size_t size);

malloc 就不做详细介绍了,之前有文章详细介绍过malloc、kmalloc、vmalloc ? - 艾恩凝 (aeneag.xyz)

  • calloc
1void *calloc(size_t num, size_t size);

calloc函数会将分配的内存初始化为0,该函数将会分配 numsize大小的内存块

  • realloc
1void *realloc(void* memblock, size_t size);

先判断当前的指针是否有足够的连续空间,如果有,扩大指向的地址,并且将地址返回,如果空间不够,先按照 size指定的大小分配空间,将原有数据从头到尾拷贝到新分配的内存区域,而后释放原来指针所指内存区域(注意:原来指针是自动释放,不需要使用free),同时返回新分配的内存区域的首地址。即重新分配存储器块的地址。

  • aligned_malloc
1void *aligned_malloc(size_t size, size_t alignment);

size是申请内存大小,alignment是内存对齐大小,必须是2的幂

  • posix_memalign
1int posix_memalign(void **memptr, size_t alignment, size_t size);

size是申请内存大小,alignment是内存对齐大小,必须是2的幂,**memptr指向内存的地址


    
公众号'艾恩凝'

个人公众号

个人微信

个人微信

    吾心信其可行,
          则移山填海之难,
                  终有成功之日!
                                  ——孙文

  • 相关函数