簡體   English   中英

什么是堆棧重新分配以及何時發生?

[英]What is stack reallocation and when does it happen?

據說你可以進行堆棧重新分配 我不明白這一點。 我認為setjmp / longjmp的重點是保存堆棧,並且當longjmp回來時它會有效。 評論似乎表明可以移動整個堆棧。 這將抵消所有指針,所以我明白為什么應該避免它。 但什么時候堆棧重新分配發生? 我之前從未聽過這個詞。

似乎關於堆棧重新分配的注釋僅適用於coro堆棧,而不適用於一般的C堆棧

通常不會將通用C堆棧傳遞給函數,只有您自己的實現如下:

 /*
  * Create a new coroutine from the given function, and with the
  * given stack.
  */
 EXPORT
 extern coro coro_new(_entry fn);

因此, setjmp / longjmp可以像往常一樣安全使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM