【发布时间】:2013-08-15 20:31:11
【问题描述】:
Unix 手册的第 2 节涵盖了系统调用(尽管它们实际上可能由系统 libc 实现 - 例如 Linux 上的 fork(2))。下面是一个非常愚蠢的例子,它调用了open(2) 和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。
【问题讨论】:
-
C++ 方式是什么意思?当有这么多的wasys可供选择时。也许你的意思是 > ?
标签: c++ linux system-calls