"Michel Michaud" writes:La « relevance » (pertinence) dans mon esprit était simplement
d'indiquer que fwrite n'ayant pas toujours eu void* dans sa
signature, ce n'était peut-être pas par choix qu'il a cette
signature aujourd'hui (c'est encore ce que je pense : pour ne
pas casser le code existant, on a mis void* au lieu de char*
quand on est passé à ISO C).
Bouhahaha. Puisque qu'avant il prenait char*, quelque code
existant aurait on cassé en continuant à prendre un char* ?
"Michel Michaud" <mm@gdzid.com> writes:
La « relevance » (pertinence) dans mon esprit était simplement
d'indiquer que fwrite n'ayant pas toujours eu void* dans sa
signature, ce n'était peut-être pas par choix qu'il a cette
signature aujourd'hui (c'est encore ce que je pense : pour ne
pas casser le code existant, on a mis void* au lieu de char*
quand on est passé à ISO C).
Bouhahaha. Puisque qu'avant il prenait char*, quelque code
existant aurait on cassé en continuant à prendre un char* ?
"Michel Michaud" writes:La « relevance » (pertinence) dans mon esprit était simplement
d'indiquer que fwrite n'ayant pas toujours eu void* dans sa
signature, ce n'était peut-être pas par choix qu'il a cette
signature aujourd'hui (c'est encore ce que je pense : pour ne
pas casser le code existant, on a mis void* au lieu de char*
quand on est passé à ISO C).
Bouhahaha. Puisque qu'avant il prenait char*, quelque code
existant aurait on cassé en continuant à prendre un char* ?
Dans news:,En ce qui me concerne, je n'ai pas compris la rélévance de la phrase
de Michel. Mais elle était strictement correcte. C'est
La « relevance » (pertinence) dans mon esprit était simplement
d'indiquer que fwrite n'ayant pas toujours eu void* dans sa signature,
ce n'était peut-être pas par choix qu'il a cette signature aujourd'hui
(c'est encore ce que je pense : pour ne pas casser le code existant,
on a mis void* au lieu de char* quand on est passé à ISO C).
Je me souviens très bien d'avoir utilisé fwrite en 1983-84
et je l'ai probablement utilisé en 1982 pour la première fois.
Dans news:d6652001.0408240852.75bc7770@posting.google.com,
En ce qui me concerne, je n'ai pas compris la rélévance de la phrase
de Michel. Mais elle était strictement correcte. C'est
La « relevance » (pertinence) dans mon esprit était simplement
d'indiquer que fwrite n'ayant pas toujours eu void* dans sa signature,
ce n'était peut-être pas par choix qu'il a cette signature aujourd'hui
(c'est encore ce que je pense : pour ne pas casser le code existant,
on a mis void* au lieu de char* quand on est passé à ISO C).
Je me souviens très bien d'avoir utilisé fwrite en 1983-84
et je l'ai probablement utilisé en 1982 pour la première fois.
Dans news:,En ce qui me concerne, je n'ai pas compris la rélévance de la phrase
de Michel. Mais elle était strictement correcte. C'est
La « relevance » (pertinence) dans mon esprit était simplement
d'indiquer que fwrite n'ayant pas toujours eu void* dans sa signature,
ce n'était peut-être pas par choix qu'il a cette signature aujourd'hui
(c'est encore ce que je pense : pour ne pas casser le code existant,
on a mis void* au lieu de char* quand on est passé à ISO C).
Je me souviens très bien d'avoir utilisé fwrite en 1983-84
et je l'ai probablement utilisé en 1982 pour la première fois.
"Michel Michaud" writes:
[...nice abstract theory elided...]les UDT : ça fait beaucoup de code brisé. Je dis bien toutes,
car je suis certain que personne n'écrivait
fwrite((char*)&var, sizeof(var), 1, f);...
C'est là où te trompes : dans ces temps reculés, les pointeurs
sur données n'étaient pas tous de la même taille et si tu ne
fais pas le cast explicit au site d'appel, tu as des problèmes
graves -- au fond tu as toujours ces problèmes là avec les
fonctions variadics.
Donc, les gens compétents mettaient le cast -- parce
qu'autrement il n'y avait pas de garantie que ça marche.
"Michel Michaud" <mm@gdzid.com> writes:
[...nice abstract theory elided...]
les UDT : ça fait beaucoup de code brisé. Je dis bien toutes,
car je suis certain que personne n'écrivait
fwrite((char*)&var, sizeof(var), 1, f);...
C'est là où te trompes : dans ces temps reculés, les pointeurs
sur données n'étaient pas tous de la même taille et si tu ne
fais pas le cast explicit au site d'appel, tu as des problèmes
graves -- au fond tu as toujours ces problèmes là avec les
fonctions variadics.
Donc, les gens compétents mettaient le cast -- parce
qu'autrement il n'y avait pas de garantie que ça marche.
"Michel Michaud" writes:
[...nice abstract theory elided...]les UDT : ça fait beaucoup de code brisé. Je dis bien toutes,
car je suis certain que personne n'écrivait
fwrite((char*)&var, sizeof(var), 1, f);...
C'est là où te trompes : dans ces temps reculés, les pointeurs
sur données n'étaient pas tous de la même taille et si tu ne
fais pas le cast explicit au site d'appel, tu as des problèmes
graves -- au fond tu as toujours ces problèmes là avec les
fonctions variadics.
Donc, les gens compétents mettaient le cast -- parce
qu'autrement il n'y avait pas de garantie que ça marche.
"Michel Michaud" writes:Dans news:,C'est là où te trompes : dans ces temps reculés, les pointeurs
sur données n'étaient pas tous de la même taille et si tu ne
fais pas le cast explicit au site d'appel, tu as des problèmes
graves -- au fond tu as toujours ces problèmes là avec les
fonctions variadics.
Tu as presque raison : tu « risquais » des problèmes graves.
Ce n'est pas seulement qu'on risquait.
Le comportement du comité ANSI C -- et non d'ISO C -- vis à vis
de void et void* suit, de mon point de vue, des cheminement
moins linéaires que tu ne sembles le croire.
Le comité C n'hésite pas à casser du code écrit par des «
careless people » pour ne pas dire incompétents. C99 en
contient d'autres exemples.
"Michel Michaud" <mm@gdzid.com> writes:
Dans news:m3sma9me0y.fsf@uniton.integrable-solutions.net,
C'est là où te trompes : dans ces temps reculés, les pointeurs
sur données n'étaient pas tous de la même taille et si tu ne
fais pas le cast explicit au site d'appel, tu as des problèmes
graves -- au fond tu as toujours ces problèmes là avec les
fonctions variadics.
Tu as presque raison : tu « risquais » des problèmes graves.
Ce n'est pas seulement qu'on risquait.
Le comportement du comité ANSI C -- et non d'ISO C -- vis à vis
de void et void* suit, de mon point de vue, des cheminement
moins linéaires que tu ne sembles le croire.
Le comité C n'hésite pas à casser du code écrit par des «
careless people » pour ne pas dire incompétents. C99 en
contient d'autres exemples.
"Michel Michaud" writes:Dans news:,C'est là où te trompes : dans ces temps reculés, les pointeurs
sur données n'étaient pas tous de la même taille et si tu ne
fais pas le cast explicit au site d'appel, tu as des problèmes
graves -- au fond tu as toujours ces problèmes là avec les
fonctions variadics.
Tu as presque raison : tu « risquais » des problèmes graves.
Ce n'est pas seulement qu'on risquait.
Le comportement du comité ANSI C -- et non d'ISO C -- vis à vis
de void et void* suit, de mon point de vue, des cheminement
moins linéaires que tu ne sembles le croire.
Le comité C n'hésite pas à casser du code écrit par des «
careless people » pour ne pas dire incompétents. C99 en
contient d'autres exemples.