使用Ziglings练习async时遇自托管编译器未实现错误求助
解决Zig自托管编译器中
async未实现的报错问题 你的代码没有问题,报错是因为你使用的是Zig自托管编译器(self-hosted compiler),当前版本的该编译器还未实现async语法支持——这是编译器本身的功能限制,和代码逻辑无关。从报错信息里的路径/snap/zig/8241/能看出,你安装的是通过snap分发的较新的自托管版本。
解决办法
- 添加编译参数强制使用LLVM后端的stage1编译器:
编译命令改为:
stage1编译器完整支持zig build-exe 084_async.zig -fstage1async/suspend语法,能正常编译你的代码(注:代码里suspend后没有唤醒逻辑,所以只会输出foo() A,不会执行后续的foo() B,这是练习本身的预期)。 - 如果你是跟着Ziglings练习,建议使用Ziglings官方推荐的编译器版本(通常是0.10.x系列,这类版本默认使用stage1编译器)。
内容的提问来源于stack exchange,提问作者Adina
相关产品推荐
相关产品推荐

