我该在哪里找到这个库呢?编译器报告我:“没有这样的文件或目录”...我想调用包含在这个库中的系统调用函数...
Windows 没有 <sys/syscall.h>
。 如果您正在尝试将使用此文件的 Linux 应用程序移植到 Windows,则需要类似以下的文件:
#if __linux
#include <sys/syscall.h>
#elif defined(_WIN32) || defined(_WIN64)
#include <windows.h> // Or something like it.
#endif
<sys/syscall.h>
声明的代码,具体取决于该声明的内容。defined
将返回一个"true"值。#if defined(X)
的简写形式是#ifdef X
,这更为常见,但#ifdef X || Y
不起作用,你需要使用#if defined(X) || defined(Y)
,因此在#elif
情况下使用该结构。 - Mats Petersson
sys
中的任何内容都依赖于平台;<sys/syscall.h>
应该存在于 Linux 和其他一些类 Unix 平台上,但不是所有地方都有。 - Mike Seymour