`MAP_ANONYMOUS` 在 visual studio 2019 年未定义 windows 子系统用于 linux

`MAP_ANONYMOUS` undefined in visual studio 2019 with windows subsystem for linux

我正在为 Linux (WSL) 的 Windows 子系统使用 Visual Studio 2019 和 Ubuntu 20.04.3 LTS(WSL 的设置是在此之后完成的 MS dev post),甚至还有我的 Visual Studio 的项目

Configuration Properties > General 
> Platform Toolset = GCC for Windows Subsystem for Linux

我明白了

Identifier "MAP_ANONYMOUS" is undefined

使用

等程序
int main() {
  int N = 5;
  int* ptr = mmap(NULL, N * sizeof(int),
      PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, 0, 0);
}

只有 MAP_ANONYMOUS 未定义,我该如何解决?我尝试通过转到我的 VS 项目

来更改 C 语言标准
Configuration Properties > C/C++ 
> All Options > C Language Standard = C11 (-std=gnu11)

根据此 SO post 的建议。

我一发布这个问题,就找到了解决方案。解决方案是 正确设置 C 语言标准

Configuration Properties > C/C++ 
> All Options > C Language Standard = C11(GNU Dialect)(-std=gnu11)

这可以使用 C 语言标准下拉菜单进行选择。