Rust是否暴露调用堆栈深度?
问题描述:
背景信息:我有一个函数直接和间接地通过其他函数调用自己,并且想要一个便宜的方法在程序用完调用堆栈时优雅地失败。我可以手动计算通话次数,但我希望获得更优雅,更可靠的方法。Rust是否暴露调用堆栈深度?
使用稳定的Rust可以确定当前的调用堆栈深度吗?
我能找到的唯一选项是:
- 继ASM堆栈,但它需要不稳定,不便于携带。
- 使用GNU libc扩展(回溯)。但是,回溯太浪费,也不是标准。
答
考虑到github上唯一的开放问题的严重性,我对箱子的健康有一些担忧,但似乎确实提供了我需要的东西。希望这个功能被合并到像glibc这样的stdlib中。 – Doe
根据[这个评论由板条箱的主人和主要rustc的开发者之一](https://github.com/rust-lang/rfcs/issues/1488#issuecomment-179334635)这不会被移动到标准图书馆。然而,[这个问题](https://github.com/rust-lang/rust/issues/41884)表明这个箱子前途不错。 – mcarton
我当然希望如此给予这个问题对可靠的系统软件有多重要。谢谢(你的)信息。 – Doe