我想编译这段代码:
#include <stdalign.h>
#include <stdio.h>
#include <stddef.h>
int main ( int argc , char ** argv )
{
printf ("%zu\n", alignof ( max_align_t ));
return 0;
}但是编译器说:
error: ‘max_align_t’ undeclared".stddef.h包括在内,一切都很好,不是吗?
我已经试着在gcc4.8和gcc4.9下编译这段代码,但如所述,我有错误。
发布于 2015-10-14 20:31:14
要使用C11特性,您需要告诉编译器以符合C11的模式运行。
对于gcc来说,这可以通过指定选项-std=c11来实现。
发布于 2018-11-30 20:41:43
我使用的编译器本机是基于c99的,它使用的是stddef.h。在我的计算机上,我需要使用-std=c11选项和一个显然与c11相对应的头文件。
https://stackoverflow.com/questions/33134621
复制相似问题