At 10:48 AM 3/7/00 +0100, you wrote:
Eric Darchis wrote:Non ?!? Sans blague.
>
> #include <stdio.h>
> #include <stdlib.h>
>
> int main()
> {
> char brol[10] = "Hello";
> printf("%s\n", brol);
> return 0;
> }
>
> Ce bout de code compile au poil sous Linux, sous AIX, pareil. Seulement sur
> un Pyramid (SVR4), j'obtiens un warning "Initializing of automatic aggregate".
>
> Donc, qqn peut-il m'expliquer ce qu'est un "automatic aggregate" ?
> Pourquoi ca pose probleme sur ce systeme ?
Pour moi ca doit etre le "hello"
Bonne idee. Ceci confirme ma theorie. Dans le cas d'une variable locale a la fonction, on doit empiler la valeur, donc il faut du code. La plupart des compilateurs generent le code sans raler mais pas le mien. (ce n'est qu'un warning, il fait le code quand meme)essaye un equivalent de "gcc -S" et regarde le code genere !
L'aggregat, c'est l'initialisation de q[10].char *p="Hello"; char q[10]; y a t-il aussi un warning ? Si non, c'est donc le "=" qui pose probleme, et l'agregat serait le p[10] !