0

过去几天我在 Bochs 安装 Pintos。一切都在“线程”目录中编译得很好,我也把所有的路径都设置好了。我在构建目录中有 kernel.lo 和其他文件。

问题在于我运行的最后一个命令: pintos run alarm-multiple

这会产生一个错误:无法识别的字符 \x16; if ($<-- HERE 在 /home/superboy/pintos/src/utils/pintos 第 911 行的第 7 列附近由 <-- HERE 标记。

pintos 脚本第 911 行的代码是:

# Calls setitimer to set a timeout, then execs what was passed to us.
sub exec_setitimer {
if (defined $timeout) {
if ($  ge 5.8.0) {
    eval "
          use Time::HiRes qw(setitimer ITIMER_VIRTUAL);
          setitimer (ITIMER_VIRTUAL, $timeout, 0);
        ";
} else {
    { exec ("setitimer-helper", $timeout, @_); };
    exit 1 if !$!{ENOENT};
    print STDERR "warning: setitimer-helper is not installed, so ",
      "CPU time limit will not be enforced\n";
}
}
exec (@_);
exit (1);
}

我正在使用 Debian-9 Stretch

4

2 回答 2

0

用 vim 打开 utils 目录中的 Pintos 文件,通过实际输入控制字符来替换字符“^V”。这应该解决它。

于 2017-10-02T10:06:07.967 回答
0

我在 ubuntu 中重复了相同的步骤,并且成功了。似乎 pintos 在 Debian 上运行时出现问题。

于 2017-10-03T18:48:15.440 回答