1
我正在學習MINIX Book(Tanembaum)上的操作系統,我經歷的一個練習是構建一個非常簡單的shell。我必須在C程序中使用POSIX系統調用包含哪些內容?
爲此,本書提供了這段代碼:
#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兼容的)。
#include
什麼#include
指令我的程序應該使用它們,假設我正在MINIX上編譯這個程序(和我寫的所有其他函數都在這個.c文件中)?它如何在C程序上使用Linux系統調用?
謝謝!
'人<命令或功能>'是一個非常重要的命令,使用像例如'人fork'。 –
Joachim提到,你需要閱讀文檔 - 不同的API需要不同的頭文件。此外,您可能需要定義「功能宏」,向系統指示您要激活哪些特定的API集。請參閱'man feature_test_macros'。你可能會用'-D_GNU_SOURCE'開始,因爲它包含了幾乎所有的東西。 –
Linux版手冊的主人在這裏:http://man7.org/linux/man-pages fork()的地址是:http://man7.org/linux/man- pages/man2/fork.2.html POSIX參考資料:http://pubs.opengroup.org/onlinepubs/9699919799/functions/fork.html – alk