<emscripten/stack.h> 中定義的函式允許檢查有關 WebAssembly 資料堆疊(有時稱為「使用者堆疊」或「C 堆疊」)的資訊。 此資料堆疊是線性記憶體中包含的資料(相對於由 VM 管理的受信任呼叫堆疊,並且該堆疊對正在執行的程式不可見)。
emscripten_stack_get_base
(void)¶傳回堆疊的起始位址。 這是當堆疊上沒有使用任何位元組時,堆疊指標將指向的位址。
emscripten_stack_get_end
(void)¶傳回堆疊的結束位址。 這是當整個堆疊都在使用時,堆疊指標將指向的位址。(結束位址指向的位址本身不是堆疊的一部分)。 請注意,堆疊向下增長,因此 emscripten_stack_get_end() 傳回的位址小於 emscripten_stack_get_base()
。
emscripten_stack_set_limits
(void* base, void* end)¶設定 emscripten_stack_get_base()
和 emscripten_stack_get_end()
報告的內部值。 這應該僅由 asyncify 光纖等底層程式庫使用。
emscripten_stack_get_current
(void)¶傳回目前的堆疊指標。
emscripten_stack_get_free
(void)¶傳回堆疊上剩餘的可用位元組數。 為了能夠頻繁呼叫,必須快速執行。