记 malloc 奇怪的bug

介绍

写了一个项目,cpu + gpu ,不可避免的遇到 申请GPU的内存, 申请CPU的内存, CPU上的数组, 赋值来赋值去

遇到了奇怪的bug

malloc bugs

  1. malloc(): mismatching next->prev_size (unsorted)

2.malloc.c:2379: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed.

Sloved

  • malloc出来的东西 对应 free 掉

  • 没用到的指针不要声明,也不要随意 malloc

  • 不要用自己不熟的代码, 比如指针数组

  • 不要把指针随意赋值给别人,想干嘛?


BYTE *msg[num];

???emmm 指针数组? 不熟,真不熟

指针数组

arr就是一个指针数组,它有四个元素,每个元素是一个char *类型的指针,这些指针存放着其对应字符串的首地址。


char *arr[4] = {"hello", "world", "shannxi", "xian"};

char *arr2[4];

arr[1] = malloc.... // ??? 不熟真不熟

//

数组指针

pa是一个指针指向一个char [4]的数组,每个数组元素是一个char类型的变量


char (*pa)[4];

posted @   PiaYie  阅读(2229)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· PPT革命!DeepSeek+Kimi=N小时工作5分钟完成?
· What?废柴, 还在本地部署DeepSeek吗?Are you kidding?
· 赶AI大潮:在VSCode中使用DeepSeek及近百种模型的极简方法
· DeepSeek企业级部署实战指南:从服务器选型到Dify私有化落地
点击右上角即可分享
微信分享提示