[so] Extensii gcc sau standard C?
Vlad Dogaru
ddvlad at rosedu.org
Sat May 1 12:01:19 EEST 2010
Mihai Maruseac wrote:
> Am văzut azi într-un code snippet o declarație de forma
>
> int a[size1 + size2]
>
> unde size1 și size2 erau două variabile, neconstante, nu #define-uri, nu
> nimic.
>
> Este vorba de o extensie a gcc sau este ceva din standardul C ce eu
> n-am găsit la o citire pe diagonală?
Variable Length Arrays[1] au fost adaugate in C99.
[1] http://en.wikipedia.org/wiki/Variable-length_array
>
> Dacă tot suntem aici, inițializarea structurilor cu
>
> struct flock fl = {
> .l_type = F_WRLCK,
> .l_start = 0,
> .l_whence = SEEK_SET,
> .l_len = 0,
> .l_pid = getpid()
> };
>
> (© Andrei Faur tema 0) este extensie gcc sau în standard/extensie C?
Sintaxa de initializare a structurilor este extensie GCC[2].
[2] http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_4.html#SEC81
> PS: Pentru prima problemă am vrut să văd dacă mi se generează cod
> identic cu calloc și am comparat codul în limbaj de asamblare.
> Diferențele erau prea mari [0]:P
[1] zice ca GCC aloca VLA-uri pe stiva, dar nu am verificat.
Hope this helps,
Vlad
More information about the so
mailing list