我正在使用Ubuntu 15.04上的GCC 4.9。我在Eclipse CDT中编写C程序,其方言设置为c99。出于某种原因,我的编译器一直警告我:隐式声明函数'posix_memalign'[-Wimplicit-function-declaration]。我不确定原因。我在顶部有#include ,当我使用eclipse时,ctrl + click posix_memalign会将我带到stdlib.h中的函数声明。 为什么我会收到此警告?我刚刚尝试将dialect更改为std = gnu99,这解决了问题。posix_memalign是否未包含在c99中?
_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600
。 翻译:必须满足_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600
这个条件。 - Sourav Ghoshfenv.h
中?不要在自己的源文件中声明标准函数! - too honest for this site#include <stdlib.h>
之前,需要添加类似于以下的一行代码:#define _POSIX_C_SOURCE (200112L)
。 - user3629249