pipe() 在 Visual Studio Code 中未声明/未定义 C++

问题描述 投票:0回答:1

我正在 Windows 10 上的 Visual Studio Code 中使用 Microsoft C/C++ 扩展进行 C++ 工作,并且我的编辑器无法识别 pipeline() 的任何用法。我已经实现了我知道应该可以工作的代码,但我仍然收到红色波浪线,告诉我我犯了语法错误。如果我也尝试运行它,就会发生错误,其中显示:

error: 'pipe' was not declared in this scope

使用在线编译器,我能够运行我的代码,但由于我的项目使用本地文件,我无法使用它。这似乎是一个 Visual Studio Code 问题,但我还没有弄清楚为什么,并且想知道是否有一些关于 C++ 中管道的明显见解可以解决我的问题。我尝试过将我的 C++ 标准从 gnu++14 切换到 gnu++23 再到 c++23,但没有成功。

c++ visual-studio-code pipe
1个回答
0
投票

如果您想在 Windows 中使用管道,您应该使用 Windows API,例如 CreatedNamedPipe()、OpenFile()、CreateFile() 等函数。 管道是操作系统的一部分,因此在 UNIX 中它们的工作方式与在 Windows 中的工作方式不同,而且在 UNIX 中,大多数管道函数都在 /sys/ 标头下定义,这仅适用于 UNIX,您可能想尝试在 Windows 中获取这些标头使用 cygwin。

如果您认真对待 Windows 中的管道使用 Windows API,他们有一些很好的示例:

https://learn.microsoft.com/en-us/windows/win32/ipc/using-pipes

https://learn.microsoft.com/en-us/windows/win32/ipc/named-pipes

要使用 Windows API,只需包含

<Windows.h>
,它将包含所有底层头文件

© www.soinside.com 2019 - 2024. All rights reserved.