Jsou „prohlášení a prohlášení ve výrazech“ specifické pro GNU C?

hlasů
1

Jsou prohlášení a prohlášení ve výrazech specifické pro GNU C? Nebo tato funkce je také zahrnuta v normě C99?

Položena 20/06/2010 v 16:14
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
3

I když to není standard C99, toto rozšíření není specifická pro gcc jeden.

Například, zvonění kompilátor a Intel C ++ kompilátor podporu tohoto rozšíření.

Odpovězeno 20/06/2010 v 17:39
zdroj uživatelem

hlasů
2

Je to rozšíření GCC. (Viz dokumenty GCC, například zde gcc 4.3.3 , pro úplný seznam přípon GCC, a C99 spec je k dispozici zde .)

GCC bude upozorňovat na takové věci, pokud používáte -pedantic -std=c99příznaky, například:

$ cat foo.c
int main(void)
{
  return ({ int a = 0; a; });
}
$ gcc -pedantic -std=c99 -c foo.c
foo.c: In function 'main':
foo.c:3: warning: ISO C forbids braced-groups within expressions
Odpovězeno 20/06/2010 v 16:23
zdroj uživatelem

hlasů
1

Je to GNU C prodloužení. To je to, co si pod pojmem „může zdát ... v GNU C .“ (můj důraz)

Odpovězeno 20/06/2010 v 16:24
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more