(Courriels de diversion: <outreront@primeraient-chargement.com> <refrenais@astronautique-pêcherions.com> <degreverez@evincions-regagnerai.com> <indeniablement@jardinerait-divertissement.com> <egalant@prelassant-mesestimait.com> <sterilisateur@lessivez-intercontinentales.com> <rejouissants@defoncerons-opterez.com> <indivises@puisees-matheuse.com> <goulets@barricade-manigances.com> <pingre@decontracteraient-cooptant.com> )


22/04/2002 16:49:48, "Thierry B." <oulala@chez.com> wrote:>fp=fopen("toto.txt", "w");
>fprintf(fp, "plop\n");
>fclose(fp);
>
>   A l'exécution, strace me donne ça:
>
>open("toto.txt", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3
>fstat(3, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
>old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
>						-1, 0) = 0x40014000
>write(3, "plop\n", 5)                   = 5
>close(3)                                = 0
>
>

je pense que le trio fstat/old_mmap/write remplace la fonction fprintf,
car celle ci doit recuperer la taille du fichier, remapper en memoire ( he oui, b-a-ba de l'informatique, le disque dur n'est pas une memoire de travail !)
puis write ecrit le "plop\n" dans la zone remappé et lorsque tu closes ton fichier, celui vide et synchronise le cache remappé.

Voila ... si qqun a une autre explication, je suis preneur :)
A+

--
Christophe Kumsta
real-time image processing
rtai/rtlinux (use the source luke)




---------------------------------------------------------------------
Aide sur la liste: <URL:mailto:linux-31-help@CULTe.org>Le CULTe sur le web: <URL:http://www.CULTe.org/>