[英]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.