c - 我必须在 C 程序中包含什么才能使用 POSIX 系统调用?

标签 c linux operating-system system-calls minix

我在 The MINIX Book (Tanembaum) 上学习操作系统,我完成的练习之一是构建一个非常简单的 shell。

为此,本书提供了这段代码:

#define TRUE 1

while (TRUE) {
   type_prompt();
   read_command(command, parameters);

   if (fork() != 0) {
      waitpid(-1, &status, 0);
   } else {
      execve(command, parameters, 0);
   }
}

这不是整个 C 程序(显然),我需要自己声明一些变量并编写一些函数。但是比如fork()就是一个系统调用(书上说了,应该是POSIX兼容的)。

假设我已经在 MINIX 上编译这个程序(并且我编写的所有其他函数都在同一个 .c 文件中),我的程序应该使用哪些 #include 指令?在 C 程序上使用 Linux 系统调用是如何工作的?

谢谢!

最佳答案

谷歌搜索 man fork 将显示 linux 手册页,它表明它需要:

#include <unistd.h>

关于c - 我必须在 C 程序中包含什么才能使用 POSIX 系统调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21266058/

相关文章:

c - 了解并尝试使用 Valgrind 进行 C 编程。

linux - 无法连接到 redhat linux 上的 Jenkins 服务器

operating-system - 内置脚本语言可用于所有主要操作系统?

c - Malloc-释放后使用内存未触发错误

c - C语言函数指针内存解释

c - 如果多个线程加入一个线程,为什么它是未定义的?

linux - 内核如何访问其他进程的内存?

linux - 如何递归查找并列出具有子目录和时间的目录中的最新修改文件

c++ - 使用Linux pread可以避免 “unavailability of data for reading written by a different thread”吗?

c - 打印分区表——C程序