C++ Syscall-sys/Syscall.h-不是这样的文件或目录-
我在哪里可以找到这个图书馆? 编译器报告我:“不是这样的文件或目录”。。。C++ Syscall-sys/Syscall.h-不是这样的文件或目录-,c++,multithreading,winapi,system-calls,C++,Multithreading,Winapi,System Calls,我在哪里可以找到这个图书馆? 编译器报告我:“不是这样的文件或目录”。。。 我想调用此库中包含的syscall函数 Windows没有。如果您正试图将Linux中的某些内容移植到使用此功能的Windows,则需要以下内容: #if __linux #include <sys/syscall.h> #elif defined(_WIN32) || defined(_WIN64) #include <windows.h> // Or something like
我想调用此库中包含的syscall函数 Windows没有
。如果您正试图将Linux中的某些内容移植到使用此功能的Windows,则需要以下内容:
#if __linux
#include <sys/syscall.h>
#elif defined(_WIN32) || defined(_WIN64)
#include <windows.h> // Or something like it.
#endif
#如果"
#包括
#elif已定义(_WIN32)|已定义(_WIN64)
#包括//或类似的内容。
#恩迪夫
当然,很可能您的代码也不会单独使用这些更改进行编译,您还必须修复实际使用
中声明的代码,这在很大程度上取决于声明的内容
如果您不太熟悉移植代码,并且项目很大,我会检查是否有其他人为该项目制作了windows端口,因为您可能会遇到困难。Unix/Linux环境中有许多东西与Windows的工作方式截然不同 你正在使用哪个操作系统?
sys
中的任何内容都依赖于平台<代码>应该存在于Linux和其他类似Unix的平台上,但不是无处不在。我不熟悉Windows,但我很确定它没有Linux系统调用的等价物。如果需要与操作系统交互,可能需要使用Windows API。也许你可以更新这个问题,告诉我们你在使用哪个系统调用,以及为什么,这样熟悉Windows的人就可以告诉你该怎么做了。b/w定义和定义在哪里使用定义的宏有什么区别我只读过定义定义将给出一个“true”值,如果在该检查之前已定义符号。#if defined(X)
的一个简短形式是#ifdef X
,这更常见,但是#ifdef X | Y
不起作用,您需要#if defined(X)| defined(Y)
,因此在#elif
案例中的构造是这样的。