int main(void){ int i; printf(" %i n", i ) ; return 0; }
Même si tu donnes ça pour l'exemple, ce code est interdit :
Quelqu'un a-t-il prétendu le contraire ?
Non mais un code qui contient un UB ne peut rien prouver.
Jean-Marc Bourguet
candide writes:
Lucas Levrel a écrit : > Le 1 décembre 2009, candide a écrit : > >>> #include <stdio.h> >>> >>> int main(void){ >>> int i; >>> printf(" %i n", i ) ; >>> return 0; >>> } >> >> Même si tu donnes ça pour l'exemple, ce code est interdit : > > Quelqu'un a-t-il prétendu le contraire ?
Non mais un code qui contient un UB ne peut rien prouver.
Si qu'au moins un compilateur le traite d'une maniere donnee. Hors, l'objectif de Lucas dans le cas present est justement dans cette classe: montrer que gcc ne traite pas ce cas en initialisant systematiquement les variables a 0.
A+
-- Jean-Marc FAQ de fclc: http://www.levenez.com/lang/c/faq Site de usenet-fr: http://www.usenet-fr.news.eu.org
candide <candide@free.invalid> writes:
Lucas Levrel a écrit :
> Le 1 décembre 2009, candide a écrit :
>
>>> #include <stdio.h>
>>>
>>> int main(void){
>>> int i;
>>> printf(" %i n", i ) ;
>>> return 0;
>>> }
>>
>> Même si tu donnes ça pour l'exemple, ce code est interdit :
>
> Quelqu'un a-t-il prétendu le contraire ?
Non mais un code qui contient un UB ne peut rien prouver.
Si qu'au moins un compilateur le traite d'une maniere donnee. Hors,
l'objectif de Lucas dans le cas present est justement dans cette classe:
montrer que gcc ne traite pas ce cas en initialisant systematiquement les
variables a 0.
A+
--
Jean-Marc
FAQ de fclc: http://www.levenez.com/lang/c/faq
Site de usenet-fr: http://www.usenet-fr.news.eu.org
Lucas Levrel a écrit : > Le 1 décembre 2009, candide a écrit : > >>> #include <stdio.h> >>> >>> int main(void){ >>> int i; >>> printf(" %i n", i ) ; >>> return 0; >>> } >> >> Même si tu donnes ça pour l'exemple, ce code est interdit : > > Quelqu'un a-t-il prétendu le contraire ?
Non mais un code qui contient un UB ne peut rien prouver.
Si qu'au moins un compilateur le traite d'une maniere donnee. Hors, l'objectif de Lucas dans le cas present est justement dans cette classe: montrer que gcc ne traite pas ce cas en initialisant systematiquement les variables a 0.
A+
-- Jean-Marc FAQ de fclc: http://www.levenez.com/lang/c/faq Site de usenet-fr: http://www.usenet-fr.news.eu.org
Antoine Leca
Wykaaa écrit dans <news:4b142454$0$914$ :
Antoine Leca a écrit :
[ Copie et suivis sur fr.comp.mail ]
Ouais, en tous cas c'était l'intention :^) Mais bon, quand on ne sait pas lire le français, on confond « Répondre à » et « Suivis vers » :o|
Question subsidiaire : quelle extension (ou quel paramétrage) pour que Tbird réagisse correctement aux URLs <news:, à la RFC1738 §3.6 ?
Ah oui, moi aussi je veux savoir.
J'ai trouvé http://messageidfinder.mozdev.org. Il n'est plus maintenu depuis 4 ans et donc ne fonctionne pas *tel quel* avec TB 2.0 :-( il faut donc bidouiller le install.rdf <em:maxVersion> Mais sinon il semble fonctionner.
Il faut maintenant que je remette en place mon infrastructure de comptes, on dirait que mes essais l'ont passablement affectée, TB n'arrête pas de me demander de renseigner un nouveau compte nommé "news". Défaut connu ?
Antoine
Wykaaa écrit dans <news:4b142454$0$914$ba4acef3@news.orange.fr> :
Antoine Leca a écrit :
[ Copie et suivis sur fr.comp.mail ]
Ouais, en tous cas c'était l'intention :^) Mais bon, quand on ne sait
pas lire le français, on confond « Répondre à » et « Suivis vers » :o|
Question subsidiaire : quelle extension (ou quel paramétrage) pour que
Tbird réagisse correctement aux URLs <news:a@b>, à la RFC1738 §3.6 ?
Ah oui, moi aussi je veux savoir.
J'ai trouvé http://messageidfinder.mozdev.org.
Il n'est plus maintenu depuis 4 ans et donc ne fonctionne pas *tel quel*
avec TB 2.0 :-( il faut donc bidouiller le install.rdf <em:maxVersion>
Mais sinon il semble fonctionner.
Il faut maintenant que je remette en place mon infrastructure de
comptes, on dirait que mes essais l'ont passablement affectée,
TB n'arrête pas de me demander de renseigner un nouveau compte nommé
"news". Défaut connu ?
Ouais, en tous cas c'était l'intention :^) Mais bon, quand on ne sait pas lire le français, on confond « Répondre à » et « Suivis vers » :o|
Question subsidiaire : quelle extension (ou quel paramétrage) pour que Tbird réagisse correctement aux URLs <news:, à la RFC1738 §3.6 ?
Ah oui, moi aussi je veux savoir.
J'ai trouvé http://messageidfinder.mozdev.org. Il n'est plus maintenu depuis 4 ans et donc ne fonctionne pas *tel quel* avec TB 2.0 :-( il faut donc bidouiller le install.rdf <em:maxVersion> Mais sinon il semble fonctionner.
Il faut maintenant que je remette en place mon infrastructure de comptes, on dirait que mes essais l'ont passablement affectée, TB n'arrête pas de me demander de renseigner un nouveau compte nommé "news". Défaut connu ?
Antoine
candide
Jean-Marc Bourguet a écrit :
Si qu'au moins un compilateur le traite d'une maniere donnee. Hors, l'objectif de Lucas dans le cas present est justement dans cette classe: montrer que gcc ne traite pas ce cas en initialisant systematiquement les variables a 0.
OK donc on finalement on reproche à gcc en initialisant à 0 d'empêcher de détecter l'UB puisque probablement le code planterait avec une initialisation à -1208656032.
Jean-Marc Bourguet a écrit :
Si qu'au moins un compilateur le traite d'une maniere donnee. Hors,
l'objectif de Lucas dans le cas present est justement dans cette classe:
montrer que gcc ne traite pas ce cas en initialisant systematiquement les
variables a 0.
OK donc on finalement on reproche à gcc en initialisant à 0 d'empêcher
de détecter l'UB puisque probablement le code planterait avec une
initialisation à -1208656032.
Si qu'au moins un compilateur le traite d'une maniere donnee. Hors, l'objectif de Lucas dans le cas present est justement dans cette classe: montrer que gcc ne traite pas ce cas en initialisant systematiquement les variables a 0.
OK donc on finalement on reproche à gcc en initialisant à 0 d'empêcher de détecter l'UB puisque probablement le code planterait avec une initialisation à -1208656032.
Jean-Marc Bourguet
candide writes:
Jean-Marc Bourguet a écrit :
Si qu'au moins un compilateur le traite d'une maniere donnee. Hors, l'objectif de Lucas dans le cas present est justement dans cette classe: montrer que gcc ne traite pas ce cas en initialisant systematiquement les variables a 0.
OK donc on finalement on reproche à gcc en initialisant à 0 d'empêcher de détecter l'UB puisque probablement le code planterait avec une initialisation à -1208656032.
Marc a fait ce reproche à gcc, Lucas a montré que ce n'était pas (toujours?) le cas.
A+
-- Jean-Marc FAQ de fclc: http://www.levenez.com/lang/c/faq Site de usenet-fr: http://www.usenet-fr.news.eu.org
candide <candide@free.invalid> writes:
Jean-Marc Bourguet a écrit :
Si qu'au moins un compilateur le traite d'une maniere donnee. Hors,
l'objectif de Lucas dans le cas present est justement dans cette classe:
montrer que gcc ne traite pas ce cas en initialisant systematiquement les
variables a 0.
OK donc on finalement on reproche à gcc en initialisant à 0 d'empêcher de
détecter l'UB puisque probablement le code planterait avec une
initialisation à -1208656032.
Marc a fait ce reproche à gcc, Lucas a montré que ce n'était pas
(toujours?) le cas.
A+
--
Jean-Marc
FAQ de fclc: http://www.levenez.com/lang/c/faq
Site de usenet-fr: http://www.usenet-fr.news.eu.org
Si qu'au moins un compilateur le traite d'une maniere donnee. Hors, l'objectif de Lucas dans le cas present est justement dans cette classe: montrer que gcc ne traite pas ce cas en initialisant systematiquement les variables a 0.
OK donc on finalement on reproche à gcc en initialisant à 0 d'empêcher de détecter l'UB puisque probablement le code planterait avec une initialisation à -1208656032.
Marc a fait ce reproche à gcc, Lucas a montré que ce n'était pas (toujours?) le cas.
A+
-- Jean-Marc FAQ de fclc: http://www.levenez.com/lang/c/faq Site de usenet-fr: http://www.usenet-fr.news.eu.org
espie
In article , Jean-Marc Bourguet wrote:
candide writes:
Lucas Levrel a écrit : > Le 1 décembre 2009, candide a écrit : > >>> #include <stdio.h> >>> >>> int main(void){ >>> int i; >>> printf(" %i n", i ) ; >>> return 0; >>> } >> >> Même si tu donnes ça pour l'exemple, ce code est interdit : > > Quelqu'un a-t-il prétendu le contraire ?
Non mais un code qui contient un UB ne peut rien prouver.
Si qu'au moins un compilateur le traite d'une maniere donnee. Hors, l'objectif de Lucas dans le cas present est justement dans cette classe: montrer que gcc ne traite pas ce cas en initialisant systematiquement les variables a 0.
Que je sache, je ne crois pas avoir dit que c'etait systematique.
C'est un comportement tres courant sur au moins certaines version de gcc.
Il est possible qu'ils aient finalement corrige le probleme, mais en tout cas, ca a pose souci a un certain nombre de gens pendant un certain nombre de generations.
... et ca ne change rien au fait qu'a la base, c'est une idee debile.
In article <pxb3a3uirkf.fsf@news.bourguet.org>,
Jean-Marc Bourguet <jm@bourguet.org> wrote:
candide <candide@free.invalid> writes:
Lucas Levrel a écrit :
> Le 1 décembre 2009, candide a écrit :
>
>>> #include <stdio.h>
>>>
>>> int main(void){
>>> int i;
>>> printf(" %i n", i ) ;
>>> return 0;
>>> }
>>
>> Même si tu donnes ça pour l'exemple, ce code est interdit :
>
> Quelqu'un a-t-il prétendu le contraire ?
Non mais un code qui contient un UB ne peut rien prouver.
Si qu'au moins un compilateur le traite d'une maniere donnee. Hors,
l'objectif de Lucas dans le cas present est justement dans cette classe:
montrer que gcc ne traite pas ce cas en initialisant systematiquement les
variables a 0.
Que je sache, je ne crois pas avoir dit que c'etait systematique.
C'est un comportement tres courant sur au moins certaines version de gcc.
Il est possible qu'ils aient finalement corrige le probleme, mais en tout
cas, ca a pose souci a un certain nombre de gens pendant un certain nombre
de generations.
... et ca ne change rien au fait qu'a la base, c'est une idee debile.
Lucas Levrel a écrit : > Le 1 décembre 2009, candide a écrit : > >>> #include <stdio.h> >>> >>> int main(void){ >>> int i; >>> printf(" %i n", i ) ; >>> return 0; >>> } >> >> Même si tu donnes ça pour l'exemple, ce code est interdit : > > Quelqu'un a-t-il prétendu le contraire ?
Non mais un code qui contient un UB ne peut rien prouver.
Si qu'au moins un compilateur le traite d'une maniere donnee. Hors, l'objectif de Lucas dans le cas present est justement dans cette classe: montrer que gcc ne traite pas ce cas en initialisant systematiquement les variables a 0.
Que je sache, je ne crois pas avoir dit que c'etait systematique.
C'est un comportement tres courant sur au moins certaines version de gcc.
Il est possible qu'ils aient finalement corrige le probleme, mais en tout cas, ca a pose souci a un certain nombre de gens pendant un certain nombre de generations.
... et ca ne change rien au fait qu'a la base, c'est une idee debile.
espie
In article <4b154ff3$0$2040$, candide wrote:
Jean-Marc Bourguet a écrit :
Si qu'au moins un compilateur le traite d'une maniere donnee. Hors, l'objectif de Lucas dans le cas present est justement dans cette classe: montrer que gcc ne traite pas ce cas en initialisant systematiquement les variables a 0.
OK donc on finalement on reproche à gcc en initialisant à 0 d'empêcher de détecter l'UB puisque probablement le code planterait avec une initialisation à -1208656032.
Il y a deux sortes de gens par ici: ceux qui programment, et ceux qui sont la juste pour chercher la petite bete. Tu trouverais sans doute plus ton bonheur sur comp.lang.std.c...
In article <4b154ff3$0$2040$426a34cc@news.free.fr>,
candide <candide@free.invalid> wrote:
Jean-Marc Bourguet a écrit :
Si qu'au moins un compilateur le traite d'une maniere donnee. Hors,
l'objectif de Lucas dans le cas present est justement dans cette classe:
montrer que gcc ne traite pas ce cas en initialisant systematiquement les
variables a 0.
OK donc on finalement on reproche à gcc en initialisant à 0 d'empêcher
de détecter l'UB puisque probablement le code planterait avec une
initialisation à -1208656032.
Il y a deux sortes de gens par ici: ceux qui programment, et ceux qui sont
la juste pour chercher la petite bete. Tu trouverais sans doute plus ton
bonheur sur comp.lang.std.c...
Si qu'au moins un compilateur le traite d'une maniere donnee. Hors, l'objectif de Lucas dans le cas present est justement dans cette classe: montrer que gcc ne traite pas ce cas en initialisant systematiquement les variables a 0.
OK donc on finalement on reproche à gcc en initialisant à 0 d'empêcher de détecter l'UB puisque probablement le code planterait avec une initialisation à -1208656032.
Il y a deux sortes de gens par ici: ceux qui programment, et ceux qui sont la juste pour chercher la petite bete. Tu trouverais sans doute plus ton bonheur sur comp.lang.std.c...
Jean-Marc Bourguet
(Marc Espie) writes:
... et ca ne change rien au fait qu'a la base, c'est une idee debile.
Je suis d'accord que c'est une idée débile. Je suis beaucoup moins certain que gcc l'ai jamais fait; je ne l'ai jamais observé et un petit essai me montre que sur les versions que j'ai ici, ça ne se passe pas (l'appel à f est là pour essayer diminuer les chances d'un 0 présent par hasard):
$ cat testinit.c #include <stdio.h>
void f() { int i = 42; printf("%pn", &i); }
void g() { int i; printf("%dn", i); }
int main() { f(); g(); return 0; } $ for c in 2.95 3.2 3.3 3.4 4.0 4.1 4.2 4.3 4.4 ; do
-- Jean-Marc FAQ de fclc: http://www.levenez.com/lang/c/faq Site de usenet-fr: http://www.usenet-fr.news.eu.org
espie@lain.home (Marc Espie) writes:
... et ca ne change rien au fait qu'a la base, c'est une idee debile.
Je suis d'accord que c'est une idée débile. Je suis beaucoup moins certain
que gcc l'ai jamais fait; je ne l'ai jamais observé et un petit essai me
montre que sur les versions que j'ai ici, ça ne se passe pas (l'appel à f
est là pour essayer diminuer les chances d'un 0 présent par hasard):
$ cat testinit.c
#include <stdio.h>
void f()
{
int i = 42;
printf("%pn", &i);
}
void g()
{
int i;
printf("%dn", i);
}
int main()
{
f();
g();
return 0;
}
$ for c in 2.95 3.2 3.3 3.4 4.0 4.1 4.2 4.3 4.4 ; do
... et ca ne change rien au fait qu'a la base, c'est une idee debile.
Je suis d'accord que c'est une idée débile. Je suis beaucoup moins certain que gcc l'ai jamais fait; je ne l'ai jamais observé et un petit essai me montre que sur les versions que j'ai ici, ça ne se passe pas (l'appel à f est là pour essayer diminuer les chances d'un 0 présent par hasard):
$ cat testinit.c #include <stdio.h>
void f() { int i = 42; printf("%pn", &i); }
void g() { int i; printf("%dn", i); }
int main() { f(); g(); return 0; } $ for c in 2.95 3.2 3.3 3.4 4.0 4.1 4.2 4.3 4.4 ; do
-- Jean-Marc FAQ de fclc: http://www.levenez.com/lang/c/faq Site de usenet-fr: http://www.usenet-fr.news.eu.org
candide
Marc Espie a écrit :
Il y a deux sortes de gens par ici: ceux qui programment, et ceux qui sont la juste pour chercher la petite bete. Tu trouverais sans doute plus ton bonheur sur comp.lang.std.c...
Non, justement pas lang mais comp.std.c ;)
Tu as raison, la programmation en C au sens du travail d'un programmeur ne m'intéresse pas plus que ça, pour l'instant en tous cas. Ce qui m'intéresse c'est pas de chercher la petite bête mais réfléchir à des moyens plus efficaces d'apprendre le C (ou d'autres langages), qu'on s'adresse à des débutants ou à des programmeurs ayant déjà une certaine expérience. Je me réfère à la Norme parce qu'elle propose en général des informations beaucoup plus précises voire plus cohérentes, lisibles et didactiques que la majorité des sources d'information.
Et si tu m'/nous expliquais plutôt pourquoi il est tellement scandaleux d'initialiser par défaut à zéro les variables automatiques ?
Marc Espie a écrit :
Il y a deux sortes de gens par ici: ceux qui programment, et ceux qui sont
la juste pour chercher la petite bete. Tu trouverais sans doute plus ton
bonheur sur comp.lang.std.c...
Non, justement pas lang mais comp.std.c ;)
Tu as raison, la programmation en C au sens du travail d'un programmeur
ne m'intéresse pas plus que ça, pour l'instant en tous cas. Ce qui
m'intéresse c'est pas de chercher la petite bête mais réfléchir à des
moyens plus efficaces d'apprendre le C (ou d'autres langages), qu'on
s'adresse à des débutants ou à des programmeurs ayant déjà une certaine
expérience. Je me réfère à la Norme parce qu'elle propose en général des
informations beaucoup plus précises voire plus cohérentes, lisibles et
didactiques que la majorité des sources d'information.
Et si tu m'/nous expliquais plutôt pourquoi il est tellement scandaleux
d'initialiser par défaut à zéro les variables automatiques ?
Il y a deux sortes de gens par ici: ceux qui programment, et ceux qui sont la juste pour chercher la petite bete. Tu trouverais sans doute plus ton bonheur sur comp.lang.std.c...
Non, justement pas lang mais comp.std.c ;)
Tu as raison, la programmation en C au sens du travail d'un programmeur ne m'intéresse pas plus que ça, pour l'instant en tous cas. Ce qui m'intéresse c'est pas de chercher la petite bête mais réfléchir à des moyens plus efficaces d'apprendre le C (ou d'autres langages), qu'on s'adresse à des débutants ou à des programmeurs ayant déjà une certaine expérience. Je me réfère à la Norme parce qu'elle propose en général des informations beaucoup plus précises voire plus cohérentes, lisibles et didactiques que la majorité des sources d'information.
Et si tu m'/nous expliquais plutôt pourquoi il est tellement scandaleux d'initialiser par défaut à zéro les variables automatiques ?