前言:
今天朋友们对“win10检查内存兼容性”大体比较关怀,我们都需要学习一些“win10检查内存兼容性”的相关资讯。那么小编也在网络上网罗了一些对于“win10检查内存兼容性””的相关知识,希望看官们能喜欢,你们一起来学习一下吧!阅读此文之前,麻烦您点击一下“关注”,既方便您进行讨论和分享,又能给您带来不一样的参与感,感谢您的支持!
代码可能存在内存泄漏,怎么办?
使用valgrind检测代码中的内存泄漏。
下载并安装Valgrind
去下载:
安装:
1.tar–jxvfvalgrind-3.21.0.tar.bz2
2.cdvalgrind-3.21.0
3../configure--prefix=/home/book/valgrind-3.21.0/install
4.创建
5.完成安装
--prefix是给定的安装路径,可以不指定,使用默认即运行./configure
内存泄漏测试
测试程序test.c:
分配40字节缓冲区并打开超出范围的buf[10]。
#包括
#包括
#包括
无效测试()
{
int*buf=(int*)malloc(10*sizeof(int));
buf[10]=0x55;
}
intmain()
{
测试();
返回0;
}
编译:
gcc-g-o测试test.c
注意编译时添加-g选项
用缬格奈德测试:
./valgrind--lek-check=是./test
结果发现,出错的地方是在test.c第15行的main函数中,即调用test()函数。具体来说,test.c第9行,test函数中,即buf[10]=0x55;架子。
根据提示信息可以看出valgrind2检测到错误:
存在无效写入数据,即访问数组超出范围
内存泄漏,分配了40字节但未释放
结尾
嵌入式物联网还有很多东西需要学习。不要学错路线和内容,这样会增加你的薪资!
分享给大家一个数据包,150G左右,里面的学习内容、个人文本和项目都比较新、完整!
扫描二维码输入群主信息
免责声明:文章内容如涉及作品内容、版权图片或其它问题,请在30日内与本号作者联系,如反映情况属实我们将第一时间删除责任文章。文章只提供参考并不构成任何投资及应用建议。
标签: #win10检查内存兼容性