我正在使用Visual Studio 2019和Ubuntu 20.04.3 LTS作为我的Windows Subsystem for Linux(WSL((WSL的安装是在这篇MS开发文章之后完成的(,甚至使用我的Visual Studio项目
Configuration Properties > General
> Platform Toolset = GCC for Windows Subsystem for Linux
我得到
标识符"非对称映射";是未定义的
使用等程序
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职位的建议。
如果您使用的是VS Code,只需转到下面的配置设置,在那里您可以看到c版本,并在此处输入图像描述。在下面的选项中选择gnu11和c++11。这将自动清除错误。
我一发布这个问题,就找到了解决方案。解决方案是通过正确设置C语言标准
Configuration Properties > C/C++
> All Options > C Language Standard = C11(GNU Dialect)(-std=gnu11)
这可以使用C语言标准下拉菜单进行选择。