私はこの最小限の helloworld を持っていますucontext.h
。
#include <ucontext.h>
#include <stdio.h>
int main(int argc, char** argv) {
printf ("hello world!\n");
return 0;
}
gcc-4.9 ( ) では、警告なしでコンパイルされますgcc -c hw.c -Wall
。
しかし、c11 標準 ( ) に切り替えるとgcc -std=c11 -c hw.c -Wall
、次のエラーが発生します。
$ gcc -std=c11 -c hw.c -Wall
In file included from /usr/include/ucontext.h:26:0,
from hw.c:1:
/usr/include/x86_64-linux-gnu/sys/ucontext.h:137:5: error: unknown type name ‘stack_t’
stack_t uc_stack;
^
私の最初の考えは、glibc は c11 をサポートしていないということです。そのためのグーグルは、有用な情報を明らかにしませんでした. ケースは何ですか?
(私は gcc-4.9 で glibc-2.19 を使用しています。これは debian jessie、amd64 です。)