首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >MAP_ANONYMOUS与C99标准

MAP_ANONYMOUS与C99标准
EN

Stack Overflow用户
提问于 2018-05-23 00:43:19
回答 1查看 0关注 0票数 0

我有一个使用mmap系统调用的应用程序,我有一个问题需要编译几个小时才能看到为什么我得到MAP_ANON和MAP_ANONYMOUS未声明,我使用了一小段代码,我看到了我可以编译它就好了,所以我尝试了一个基本的编译和工作,我看到它添加-std = c99时失败。MAP_ANON和MAP_ANONYMOUS在C99标准中无效是否有特定原因?我知道它们不是由POSIX定义的,但是由BSD SOURCE定义,所以我只想知道为什么。

EN

回答 1

Stack Overflow用户

发布于 2018-05-23 09:59:24

你可能想要-std=gnu99而不是-std=c99。C99模式显式禁用(大部分)GNU扩展。

我写了一个简单的测试:

代码语言:javascript
复制
#include <sys/mman.h>

int a = MAP_ANONYMOUS;

在C99模式下,它找不到值:

代码语言:javascript
复制
$ gcc -std=c99 -c d.c
d.c:3:9: error: ‘MAP_ANONYMOUS’ undeclared here (not in a function)

而在Gnu99模式下,它确实:

代码语言:javascript
复制
$ gcc -std=gnu99 -c d.c
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100001357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档