在Ubuntu上安装xv6时出现编译错误
make qemu
运行结果及报错内容
我的解答思路和尝试过的方法
对比了同学运行成功的代码,发现sh.c一点问题也没有
我想要达到的结果
想赶紧把xv6装好
make qemu
对比了同学运行成功的代码,发现sh.c一点问题也没有
想赶紧把xv6装好
in function 'runcmd'
error: infinite recursion detected[-werror= infinite -recursion ]
中文翻译:
在函数“runcmd”中
错误:检测到无限递归[-werror=无限递归]
问题分析:
这个错是递归调用导致的
思路:
第一种解决方案是通过修改Makefile:
CFLAGS = -Wall -Werror -O -fno-omit-frame-pointer -ggdb -Wno-error=infinite-recursion
第二种解决方案是在xv6-labs-2021/user/sh.c文件中, runcmd函数上面添加设置特殊属性的宏:
__attribute__((noreturn))
void
runcmd(struct cmd *cmd)
{