
linux
文章平均质量分 90
言午许成长
全网同名;
职场老司机,丰富的被PUA经历;
自媒体新人,日更写作200天
展开
-
你不知道的 malloc 内幕:malloc 真的会分配内存吗
malloc 并不会真正的申请物理内存,只有在第一次使用时才会由page fault 触发内存申请原创 2023-08-22 20:21:01 · 1315 阅读 · 1 评论 -
[转载]宋宝华:世上最好的共享内存(Linux共享内存最透彻的一篇)
[原文地址](https://blog.youkuaiyun.com/21cnbao/article/details/103470878)共享单车、共享充电宝、共享雨伞,世间的共享有千万种,而我独爱共享内存。 早期的共享内存,着重于强调把同一片内存,map到多个进程的虚拟地址空间(在相应进程找到一个VMA区域),以便于CPU可以在各个进程访问到这片内存。 现阶段广泛应用于多媒体、Graphics领域的共享内存...转载 2021-07-02 14:19:48 · 918 阅读 · 0 评论 -
android平台malloc_debug使用方法(含测试代码)
1.libc_malloc_debug.so是android bionic的debug库,库或可执行文件链接该so就可以测试内存泄露或内存越界 源码在android sdk以下路径: android/bionic/libc/malloc_debug2.在程序退出时,使用debug_dump_heap 保存堆栈信息,用于最后生成内存报告3.编译并把库和可执行文件推到android机器 ,使用ndk编译需要 -g 参数,否则在生成report时无法定位函数位置并把库和可执行文件推到手机,执行 adb sh原创 2021-06-10 17:27:03 · 4507 阅读 · 0 评论 -
Linux-内存越界
内存越界是程序员比较头疼的问题,尤其在大型项目里,内存越界会导致随机错误或崩溃,不好定位。1.什么是内存越界内存越界就是操作内存的地址超出申请内存的范围,比如下面的代码,申请了1 byte内存,但对第二个字节赋值,这就发生了内存越界。char* p = (char*)malloc(1);p[1] = 2;2.内存越界为什么会导致随机错误假设申请了2个buffer A和B,其中A和B恰好在虚拟地址上是连续存放的,如果A buffer 访问越界,把B的数据改写了,这就导致B出现隐藏bug,很可能需原创 2020-11-19 20:54:10 · 1765 阅读 · 0 评论