_malloca和malloc之间有什么区别

What is the difference between _malloca and malloc?

本文关键字:什么 区别 之间 malloc malloca      更新时间:2023-10-16

我正在通过Visual Studio静态代码分析分析我的代码。我使用尺寸的malloc初始化指针,然后通过循环尝试访问它。在那里,我有警告C 警告代码6085。

当我将实现从malloc更改为_malloca时,错误就消失了。

有人可以向我解释malloc_malloca在C 中有什么区别?

根据此处的参考文档,_malloca在堆栈而不是堆上分配内存。分配的阵列的大小相同。因此,您实际上没有解决任何问题。

警告说分配的阵列可能太短了。为什么您不知道malloc的警告,但没有_malloca。但是,如果编译器最初是正确的,那么问题仍然存在。

_malloca要非常小心!一旦功能离开其范围,就可以释放分配给它的内存。它必须通过呼叫_freea发布。您可能需要仔细阅读此功能的参考文档,并确保您真正了解细节。

,您当然可能想检查您最初从编译器收到的警告是真实的,还是编译器是否错误。