`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 语言标准下拉菜单进行选择。
我正在为 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 项目
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 语言标准下拉菜单进行选择。