Suite à la publication de la nouvelle norme C11, je viens de mettre à
jour la FAQ de fclc. La version provisoire de celle-ci se trouve ici
<http://www.levenez.com/lang/c/faq.new/>
Merci d'indiquer ici toutes vos remarques concernant la mise à jour de
la FAQ.
--
Éric Lévénez
FAQ de fclc : <http://www.levenez.com/lang/c/faq/> (ancienne FAQ)
Suite à la publication de la nouvelle norme C11, je viens de mettre à jour la FAQ de fclc. La version provisoire de celle-ci se trouve ici <http://www.levenez.com/lang/c/faq.new/>
Merci d'indiquer ici toutes vos remarques concernant la mise à jour de la FAQ.
Il y a une petite faute de frappe à fclc003#q_7: "Son nom de code étit C1X et est maintenant C11." ^^^^
On 25/12/2011 14:22, Éric Lévénez wrote:
Bonjour, et joyeux Noël !
Suite à la publication de la nouvelle norme C11, je viens de mettre à jour la
FAQ de fclc. La version provisoire de celle-ci se trouve ici
<http://www.levenez.com/lang/c/faq.new/>
Merci d'indiquer ici toutes vos remarques concernant la mise à jour de la FAQ.
Il y a une petite faute de frappe à fclc003#q_7:
"Son nom de code étit C1X et est maintenant C11."
^^^^
Suite à la publication de la nouvelle norme C11, je viens de mettre à jour la FAQ de fclc. La version provisoire de celle-ci se trouve ici <http://www.levenez.com/lang/c/faq.new/>
Merci d'indiquer ici toutes vos remarques concernant la mise à jour de la FAQ.
Il y a une petite faute de frappe à fclc003#q_7: "Son nom de code étit C1X et est maintenant C11." ^^^^
Éric Lévénez
Le 25/12/11 15:15, cLx a écrit :
Il y a une petite faute de frappe à fclc003#q_7: "Son nom de code étit C1X et est maintenant C11." ^^^^
Merci, c'est corrigé.
-- Éric Lévénez FAQ de fclc : <http://www.levenez.com/lang/c/faq/> (ancienne FAQ)
Le 25/12/11 15:15, cLx a écrit :
Il y a une petite faute de frappe à fclc003#q_7:
"Son nom de code étit C1X et est maintenant C11."
^^^^
Merci, c'est corrigé.
--
Éric Lévénez
FAQ de fclc : <http://www.levenez.com/lang/c/faq/> (ancienne FAQ)
Il y a une petite faute de frappe à fclc003#q_7: "Son nom de code étit C1X et est maintenant C11." ^^^^
Merci, c'est corrigé.
-- Éric Lévénez FAQ de fclc : <http://www.levenez.com/lang/c/faq/> (ancienne FAQ)
Tonton Th
On 12/25/2011 02:22 PM, Éric Lévénez wrote:
Suite à la publication de la nouvelle norme C11, je viens de mettre à jour la FAQ de fclc. La version provisoire de celle-ci se trouve ici <http://www.levenez.com/lang/c/faq.new/>
Merci d'indiquer ici toutes vos remarques concernant la mise à jour de la FAQ.
12.9 Doit-on libérer explicitement la mémoire avant de quitter un programme ?
Oui, car tous les systèmes ne le span pas d'eux-mêmes.
"span" ???
--
Nous vivons dans un monde étrange/ http://foo.bar.quux.over-blog.com/
On 12/25/2011 02:22 PM, Éric Lévénez wrote:
Suite à la publication de la nouvelle norme C11, je viens de mettre à
jour la FAQ de fclc. La version provisoire de celle-ci se trouve ici
<http://www.levenez.com/lang/c/faq.new/>
Merci d'indiquer ici toutes vos remarques concernant la mise à jour de
la FAQ.
12.9 Doit-on libérer explicitement la mémoire avant de quitter
un programme ?
Oui, car tous les systèmes ne le span pas d'eux-mêmes.
"span" ???
--
Nous vivons dans un monde étrange/
http://foo.bar.quux.over-blog.com/
Suite à la publication de la nouvelle norme C11, je viens de mettre à jour la FAQ de fclc. La version provisoire de celle-ci se trouve ici <http://www.levenez.com/lang/c/faq.new/>
Merci d'indiquer ici toutes vos remarques concernant la mise à jour de la FAQ.
12.9 Doit-on libérer explicitement la mémoire avant de quitter un programme ?
Oui, car tous les systèmes ne le span pas d'eux-mêmes.
"span" ???
--
Nous vivons dans un monde étrange/ http://foo.bar.quux.over-blog.com/
Éric Lévénez
Le 26/12/11 20:37, Tonton Th a écrit :
12.9 Doit-on libérer explicitement la mémoire avant de quitter un programme ?
Oui, car tous les systèmes ne le span pas d'eux-mêmes.
-- Éric Lévénez FAQ de fclc : <http://www.levenez.com/lang/c/faq/> (ancienne FAQ)
Xavier Roche
Le 26/12/2011 22:57, Éric Lévénez a écrit :
12.9 Doit-on libérer explicitement la mémoire avant de quitter un programme ? Oui, car tous les systèmes ne le (font) pas d'eux-mêmes.
Bof. C'est une "good practice" dans l'absolu mais amha une perte de temps sous POSIX (http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html) et à priori tout ce qui n'est pas embarqué.
Il est même parfois bien de ne pas faire free() en fermeture, pour accélérer le processus. exit() s'occupera alors de désallouer le ou les blocs mappés sans avoir à toucher aux pages potentiellement inactives. (celui qui a déjà perdu quelques minutes à fermer une grosse application passée à moitié en swap comprendra)
Le 26/12/2011 22:57, Éric Lévénez a écrit :
12.9 Doit-on libérer explicitement la mémoire avant de quitter
un programme ?
Oui, car tous les systèmes ne le (font) pas d'eux-mêmes.
Bof. C'est une "good practice" dans l'absolu mais amha une perte de
temps sous POSIX
(http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html) et
à priori tout ce qui n'est pas embarqué.
Il est même parfois bien de ne pas faire free() en fermeture, pour
accélérer le processus. exit() s'occupera alors de désallouer le ou les
blocs mappés sans avoir à toucher aux pages potentiellement inactives.
(celui qui a déjà perdu quelques minutes à fermer une grosse application
passée à moitié en swap comprendra)
12.9 Doit-on libérer explicitement la mémoire avant de quitter un programme ? Oui, car tous les systèmes ne le (font) pas d'eux-mêmes.
Bof. C'est une "good practice" dans l'absolu mais amha une perte de temps sous POSIX (http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html) et à priori tout ce qui n'est pas embarqué.
Il est même parfois bien de ne pas faire free() en fermeture, pour accélérer le processus. exit() s'occupera alors de désallouer le ou les blocs mappés sans avoir à toucher aux pages potentiellement inactives. (celui qui a déjà perdu quelques minutes à fermer une grosse application passée à moitié en swap comprendra)
Éric Lévénez
Le 27/12/11 10:57, Xavier Roche a écrit :
Le 26/12/2011 22:57, Éric Lévénez a écrit :
12.9 Doit-on libérer explicitement la mémoire avant de quitter un programme ? Oui, car tous les systèmes ne le (font) pas d'eux-mêmes.
Bof. C'est une "good practice" dans l'absolu mais amha une perte de temps sous POSIX (http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html) et à priori tout ce qui n'est pas embarqué.
Il est même parfois bien de ne pas faire free() en fermeture, pour accélérer le processus. exit() s'occupera alors de désallouer le ou les blocs mappés sans avoir à toucher aux pages potentiellement inactives. (celui qui a déjà perdu quelques minutes à fermer une grosse application passée à moitié en swap comprendra)
Ce fil de discussion porte sur la mise à jour de la FAQ liée à C11 (<http://www.levenez.com/lang/c/faq.new/>). En fait tout ce qui touche aux évolutions de la FAQ sur d'autres points techniques devrait être traité dans d'autres fils.
Pour chaque point de la FAQ il peut (et il y a eu) débat. Rien n'est figé, mais avant de modifier certains points, je préfère que plusieurs personnes donnent leurs expertises sur le sujet.
Pour le exit(), même si pratiquement tous les systèmes libèrent la mémoire ; apprendre aux débutants à la libérer n'est pas, à mon avis, une absurdité. Quand ils auront muris, il sera temps pour eux de comprendre qu'il peut y avoir d'autres voies. :-)
-- Éric Lévénez FAQ de fclc : <http://www.levenez.com/lang/c/faq/> (ancienne FAQ)
Le 27/12/11 10:57, Xavier Roche a écrit :
Le 26/12/2011 22:57, Éric Lévénez a écrit :
12.9 Doit-on libérer explicitement la mémoire avant de quitter
un programme ?
Oui, car tous les systèmes ne le (font) pas d'eux-mêmes.
Bof. C'est une "good practice" dans l'absolu mais amha une perte de
temps sous POSIX
(http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html) et
à priori tout ce qui n'est pas embarqué.
Il est même parfois bien de ne pas faire free() en fermeture, pour
accélérer le processus. exit() s'occupera alors de désallouer le ou les
blocs mappés sans avoir à toucher aux pages potentiellement inactives.
(celui qui a déjà perdu quelques minutes à fermer une grosse application
passée à moitié en swap comprendra)
Ce fil de discussion porte sur la mise à jour de la FAQ liée à C11
(<http://www.levenez.com/lang/c/faq.new/>). En fait tout ce qui touche
aux évolutions de la FAQ sur d'autres points techniques devrait être
traité dans d'autres fils.
Pour chaque point de la FAQ il peut (et il y a eu) débat. Rien n'est
figé, mais avant de modifier certains points, je préfère que plusieurs
personnes donnent leurs expertises sur le sujet.
Pour le exit(), même si pratiquement tous les systèmes libèrent la
mémoire ; apprendre aux débutants à la libérer n'est pas, à mon avis,
une absurdité. Quand ils auront muris, il sera temps pour eux de
comprendre qu'il peut y avoir d'autres voies. :-)
--
Éric Lévénez
FAQ de fclc : <http://www.levenez.com/lang/c/faq/> (ancienne FAQ)
12.9 Doit-on libérer explicitement la mémoire avant de quitter un programme ? Oui, car tous les systèmes ne le (font) pas d'eux-mêmes.
Bof. C'est une "good practice" dans l'absolu mais amha une perte de temps sous POSIX (http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html) et à priori tout ce qui n'est pas embarqué.
Il est même parfois bien de ne pas faire free() en fermeture, pour accélérer le processus. exit() s'occupera alors de désallouer le ou les blocs mappés sans avoir à toucher aux pages potentiellement inactives. (celui qui a déjà perdu quelques minutes à fermer une grosse application passée à moitié en swap comprendra)
Ce fil de discussion porte sur la mise à jour de la FAQ liée à C11 (<http://www.levenez.com/lang/c/faq.new/>). En fait tout ce qui touche aux évolutions de la FAQ sur d'autres points techniques devrait être traité dans d'autres fils.
Pour chaque point de la FAQ il peut (et il y a eu) débat. Rien n'est figé, mais avant de modifier certains points, je préfère que plusieurs personnes donnent leurs expertises sur le sujet.
Pour le exit(), même si pratiquement tous les systèmes libèrent la mémoire ; apprendre aux débutants à la libérer n'est pas, à mon avis, une absurdité. Quand ils auront muris, il sera temps pour eux de comprendre qu'il peut y avoir d'autres voies. :-)
-- Éric Lévénez FAQ de fclc : <http://www.levenez.com/lang/c/faq/> (ancienne FAQ)
Xavier Roche
Le 27/12/2011 11:17, Éric Lévénez a écrit :
Pour le exit(), même si pratiquement tous les systèmes libèrent la mémoire ; apprendre aux débutants à la libérer n'est pas, à mon avis, une absurdité.
Ah totalement d'accord. J'ai déjà vu du reste le contraire: aucun free dans un programme car "de toute manière il est lancé une fois et rend la main". Brrr.
Quand ils auront muris, il sera temps pour eux de comprendre qu'il peut y avoir d'autres voies. :-)
En fait la question mérite d'être posée ; très peu de programmes au final se permettent d'ignorer un free() lors de leur fermeture (à partir du moment où on sait que le programme va être tué, l'allocateur pourrait ignorer simplement tout free)
C'est probablement par manque d’intérêt (pourquoi s'embêter a optimiser la sortie d'un programme), mais peut être aussi des "good practices" qui pourrait être ponctuellement altérées.
[Certains OS du reste commencent a avoir des stratégies de "sortie" différente: en cas d'arrêt de la machine, nul besoin de désallouer de la mémoire qui fera perdre du temps (CPU, swap), et autant accélérer tout le processus.]
Bon enfin c'était un détail un peu insignifiant [qui est du coup un peu mal placé dans ce fil il est vrai]
Le 27/12/2011 11:17, Éric Lévénez a écrit :
Pour le exit(), même si pratiquement tous les systèmes libèrent la
mémoire ; apprendre aux débutants à la libérer n'est pas, à mon avis,
une absurdité.
Ah totalement d'accord. J'ai déjà vu du reste le contraire: aucun free
dans un programme car "de toute manière il est lancé une fois et rend la
main". Brrr.
Quand ils auront muris, il sera temps pour eux de
comprendre qu'il peut y avoir d'autres voies. :-)
En fait la question mérite d'être posée ; très peu de programmes au
final se permettent d'ignorer un free() lors de leur fermeture (à partir
du moment où on sait que le programme va être tué, l'allocateur pourrait
ignorer simplement tout free)
C'est probablement par manque d’intérêt (pourquoi s'embêter a optimiser
la sortie d'un programme), mais peut être aussi des "good practices" qui
pourrait être ponctuellement altérées.
[Certains OS du reste commencent a avoir des stratégies de "sortie"
différente: en cas d'arrêt de la machine, nul besoin de désallouer de la
mémoire qui fera perdre du temps (CPU, swap), et autant accélérer tout
le processus.]
Bon enfin c'était un détail un peu insignifiant [qui est du coup un peu
mal placé dans ce fil il est vrai]
Pour le exit(), même si pratiquement tous les systèmes libèrent la mémoire ; apprendre aux débutants à la libérer n'est pas, à mon avis, une absurdité.
Ah totalement d'accord. J'ai déjà vu du reste le contraire: aucun free dans un programme car "de toute manière il est lancé une fois et rend la main". Brrr.
Quand ils auront muris, il sera temps pour eux de comprendre qu'il peut y avoir d'autres voies. :-)
En fait la question mérite d'être posée ; très peu de programmes au final se permettent d'ignorer un free() lors de leur fermeture (à partir du moment où on sait que le programme va être tué, l'allocateur pourrait ignorer simplement tout free)
C'est probablement par manque d’intérêt (pourquoi s'embêter a optimiser la sortie d'un programme), mais peut être aussi des "good practices" qui pourrait être ponctuellement altérées.
[Certains OS du reste commencent a avoir des stratégies de "sortie" différente: en cas d'arrêt de la machine, nul besoin de désallouer de la mémoire qui fera perdre du temps (CPU, swap), et autant accélérer tout le processus.]
Bon enfin c'était un détail un peu insignifiant [qui est du coup un peu mal placé dans ce fil il est vrai]
Tonton Th
On 12/25/2011 02:22 PM, Éric Lévénez wrote:
Suite à la publication de la nouvelle norme C11, je viens de mettre à jour la FAQ de fclc. La version provisoire de celle-ci se trouve ici <http://www.levenez.com/lang/c/faq.new/>
Merci d'indiquer ici toutes vos remarques concernant la mise à jour de la FAQ.
http://www.levenez.com/lang/c/faq.new/fclc013.html#q_19 The requested URL /~pornin/ucpp/ was not found on this server.
--
Nous vivons dans un monde étrange/ http://foo.bar.quux.over-blog.com/
On 12/25/2011 02:22 PM, Éric Lévénez wrote:
Suite à la publication de la nouvelle norme C11, je viens de mettre à
jour la FAQ de fclc. La version provisoire de celle-ci se trouve ici
<http://www.levenez.com/lang/c/faq.new/>
Merci d'indiquer ici toutes vos remarques concernant la mise à jour de
la FAQ.
http://www.levenez.com/lang/c/faq.new/fclc013.html#q_19
The requested URL /~pornin/ucpp/ was not found on this server.
--
Nous vivons dans un monde étrange/
http://foo.bar.quux.over-blog.com/
Suite à la publication de la nouvelle norme C11, je viens de mettre à jour la FAQ de fclc. La version provisoire de celle-ci se trouve ici <http://www.levenez.com/lang/c/faq.new/>
Merci d'indiquer ici toutes vos remarques concernant la mise à jour de la FAQ.
http://www.levenez.com/lang/c/faq.new/fclc013.html#q_19 The requested URL /~pornin/ucpp/ was not found on this server.
--
Nous vivons dans un monde étrange/ http://foo.bar.quux.over-blog.com/
espie
In article <4efc94e0$0$30984$, Tonton Th wrote:
On 12/25/2011 02:22 PM, Éric Lévénez wrote:
Suite à la publication de la nouvelle norme C11, je viens de mettre à jour la FAQ de fclc. La version provisoire de celle-ci se trouve ici <http://www.levenez.com/lang/c/faq.new/>
Merci d'indiquer ici toutes vos remarques concernant la mise à jour de la FAQ.
http://www.levenez.com/lang/c/faq.new/fclc013.html#q_19 The requested URL /~pornin/ucpp/ was not found on this server.
Les sources sont toujours dispo, par exemple, sur les miroirs des divers bsd.
Maintenant, je viens de demander a Thomas s'il avait remis ucpp en ligne quelque part depuis son demenagement...
In article <4efc94e0$0$30984$426a34cc@news.free.fr>,
Tonton Th <tth@la.bas.invalid> wrote:
On 12/25/2011 02:22 PM, Éric Lévénez wrote:
Suite à la publication de la nouvelle norme C11, je viens de mettre à
jour la FAQ de fclc. La version provisoire de celle-ci se trouve ici
<http://www.levenez.com/lang/c/faq.new/>
Merci d'indiquer ici toutes vos remarques concernant la mise à jour de
la FAQ.
http://www.levenez.com/lang/c/faq.new/fclc013.html#q_19
The requested URL /~pornin/ucpp/ was not found on this server.
Les sources sont toujours dispo, par exemple, sur les miroirs des
divers bsd.
Suite à la publication de la nouvelle norme C11, je viens de mettre à jour la FAQ de fclc. La version provisoire de celle-ci se trouve ici <http://www.levenez.com/lang/c/faq.new/>
Merci d'indiquer ici toutes vos remarques concernant la mise à jour de la FAQ.
http://www.levenez.com/lang/c/faq.new/fclc013.html#q_19 The requested URL /~pornin/ucpp/ was not found on this server.
Les sources sont toujours dispo, par exemple, sur les miroirs des divers bsd.
Maintenant, je viens de demander a Thomas s'il avait remis ucpp en ligne quelque part depuis son demenagement...
espie
In article <jdi64b$2iek$, Marc Espie wrote:
In article <4efc94e0$0$30984$, Tonton Th wrote:
On 12/25/2011 02:22 PM, Éric Lévénez wrote:
Suite à la publication de la nouvelle norme C11, je viens de mettre à jour la FAQ de fclc. La version provisoire de celle-ci se trouve ici <http://www.levenez.com/lang/c/faq.new/>
Merci d'indiquer ici toutes vos remarques concernant la mise à jour de la FAQ.
http://www.levenez.com/lang/c/faq.new/fclc013.html#q_19 The requested URL /~pornin/ucpp/ was not found on this server.
Les sources sont toujours dispo, par exemple, sur les miroirs des divers bsd.
Maintenant, je viens de demander a Thomas s'il avait remis ucpp en ligne quelque part depuis son demenagement...
hop, repris par quelqu'un d'autre:
http://code.google.com/p/ucpp/
In article <jdi64b$2iek$1@saria.nerim.net>, Marc Espie <espie@nerim.net> wrote:
In article <4efc94e0$0$30984$426a34cc@news.free.fr>,
Tonton Th <tth@la.bas.invalid> wrote:
On 12/25/2011 02:22 PM, Éric Lévénez wrote:
Suite à la publication de la nouvelle norme C11, je viens de mettre à
jour la FAQ de fclc. La version provisoire de celle-ci se trouve ici
<http://www.levenez.com/lang/c/faq.new/>
Merci d'indiquer ici toutes vos remarques concernant la mise à jour de
la FAQ.
http://www.levenez.com/lang/c/faq.new/fclc013.html#q_19
The requested URL /~pornin/ucpp/ was not found on this server.
Les sources sont toujours dispo, par exemple, sur les miroirs des
divers bsd.
Suite à la publication de la nouvelle norme C11, je viens de mettre à jour la FAQ de fclc. La version provisoire de celle-ci se trouve ici <http://www.levenez.com/lang/c/faq.new/>
Merci d'indiquer ici toutes vos remarques concernant la mise à jour de la FAQ.
http://www.levenez.com/lang/c/faq.new/fclc013.html#q_19 The requested URL /~pornin/ucpp/ was not found on this server.
Les sources sont toujours dispo, par exemple, sur les miroirs des divers bsd.