繁体   English   中英

Rust暴露调用堆栈深度?

[英]Does Rust expose call stack depth?

背景信息:我有一个通过其他函数直接或间接调用自身的函数,如果程序用完调用堆栈,我想要一种廉价的方法来优雅地失败。 我可以手动计算呼叫,但我想要一种更优雅和更健壮的方式来实现这一目标。

是否可以使用稳定的Rust确定当前的调用堆栈深度?

我能找到的唯一选择是:

  1. 在ASM中堆栈之后,但它需要不稳定且不可移植。
  2. 使用GNU libc扩展(回溯)。 然而,回溯太浪费,也不标准。

堆垛板箱似乎提供您所寻求的功能:

  • 保证可用堆栈数量的函数
  • 查询剩余堆栈数量的函数,可以在程序实际堆栈溢出之前用于保释

该库支持Linux,Windows和macOS目标。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM