gpt4 book ai didi

rust - 如何修复 `definition of unknown language item ' panic_fmt'`?

转载 作者:行者123 更新时间:2023-11-29 08:35:38 24 4
gpt4 key购买 nike

<分区>

对于 no_std 应用程序,lang_items.rs 中定义了一些语言项,其中之一是 panic_fmt 语言项(到在此 no_std 上下文中指定 panic! 的行为)定义如下:

#[lang = "panic_fmt"] #[no_mangle] pub extern fn panic_fmt() -> ! { loop{} }

编译时,我收到此错误:

error[E0522]: definition of an unknown language item: `panic_fmt`
--> src/lang_items.rs:3:1
|
3 | #[lang = "panic_fmt"] #[no_mangle] pub extern fn panic_fmt() -> ! { loop{} }
| ^^^^^^^^^^^^^^^^^^^^^ definition of unknown language item `panic_fmt`

error: `#[panic_implementation]` function required, but not found

看完RFC 2070我了解到最近对 no_std/embedded 程序进行了重大更改。虽然建议我使用 #[panic_implementation] 属性,这是最近添加的功能,但我仍然收到错误消息,如下所示:

#[panic_implementation] #[no_mangle] pub extern fn panic_fmt() -> ! { loop{} }

给出错误:

error[E0658]: #[panic_implementation] is an unstable feature (see issue #44489)
--> src/lang_items.rs:4:1
|
4 | #[panic_implementation] #[no_mangle] pub extern fn panic_fmt() -> ! { loop{} }
| ^^^^^^^^^^^^^^^^^^^^^^^
|
= help: add #![feature(panic_implementation)] to the crate attributes to enable

按照他们的建议将 #![feature(panic_implementation)] 添加到 lang_items.rs 文件的顶部似乎没有用,因为我得到同样的错误。如何正确启用此不稳定功能,以便我可以编译此 no_std 应用程序,并定义 panic! 行为?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com