Unix 手册的第 2 节涵盖了系统调用(尽管它们实际上可能由系统 libc 实现 -fork(2)
例如在 Linux 上)。下面是一个非常愚蠢的例子,它调用了open(2)
and close(2)
。
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
int
main(int argc, char *argv[]) {
int fd;
fd = open("/dev/null", O_APPEND);
close(fd);
}
我已经有一段时间没有写很多 C++ 代码了。我很好奇 C++ 库现在是否有更多的 C++ 方式来访问这些函数而无需包含大量 C 头文件?上面的代码本质上是直接的 C。
如果您想移动文件描述符(确保 fd 的 0、1 和 2 是您想要的)或执行 ioctls 等,较低级别的函数仍然很有用。但是枚举和一些更好的输入可能对 args 很好.