Sou*_*era 1 c++
我正在使用 Visual Studio 静态代码分析来分析我的代码。我使用malloc大小初始化了指针,然后通过循环尝试访问它。在那里我收到了 C++ 警告代码 6085的警告。
malloc
当我将实现从 更改为 时,malloc错误_malloca就消失了。
_malloca
有人可以解释一下C++ 中的malloc和之间有什么区别吗?_malloca
Dan*_*las 5
根据此处的参考文档,_malloca在堆栈上而不是堆上分配内存。分配的数组的大小是相同的。所以你实际上并没有解决任何问题。
该警告表示分配的数组可能太短。我不知道为什么你会收到此警告,malloc但不会收到此警告。_malloca但如果编译器最初是正确的,那么问题仍然存在。
一定要非常小心_malloca!一旦函数离开其作用域,它分配的内存就可能被释放。并且它必须通过调用来释放_freea。您可能需要仔细阅读该函数的参考文档,并确保您真正理解细节。
_freea
当然,您可能想检查最初从编译器收到的警告是否真实,或者编译器是否错误。
归档时间:
7 年,2 月 前
查看次数:
3213 次
最近记录: