首页 文章
  • 337 votes
     answers
     views

    为什么使用alloca()不被视为良好做法?

    alloca() 从堆栈而不是堆中分配内存,这是 malloc() 中的情况 . 所以,当我从例程返回时,内存被释放 . 所以,实际上这解决了我释放动态分配内存的问题 . 释放通过 malloc() 分配的内存是一个令人头痛的问题,如果不知何故错过导致各种内存问题 . 尽管有上述特征,为什么不鼓励使用 alloca() ?
  • 0 votes
     answers
     views

    像_alloca一样在堆栈上分配对齐的内存

    _alloca() 的文档说here: _alloca例程返回一个指向已分配空间的void指针,保证适当地对齐以存储任何类型的对象 . 但是,here它说: _alloca需要16字节对齐,并且还需要使用帧指针 . 因此,似乎在第一个参考中他们忘记了32字节对齐的AVX / AVX2类型,如 __m256d . 令我困惑的另一件事是,第一页说 _alloca() 已被弃用,而它建议使用一...

热门问题