1

关于我编写的系统调用,我最近在 minix 中遇到了一个非常奇怪的问题。基本上,代码在 main() 函数中运行良好,并且调用完成了它应该做的事情。但是,如果我将代码放在一个函数中并从 main() 中调用该函数,它就会失败。这是一个例子:

void do_foo()
{
    message m;
    _syscall(FS_PROC_NR, FOO, &m);
}

int main(int argc, char* argv[])
{
    /* works */
    message m;
    _syscall(FS_PROC_NR, FOO, &m);

    /* does not work */
    do_foo();
}

看起来如果你从你的代码中调用一个函数,它应该做同样的事情,就好像你只是在 main 函数中编写代码一样。我在这里想念什么?

4

0 回答 0