[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: appelsys.h



désolé J.d. Je me suis précipité sur le bouton répondre.

En regardant les liens que vous m'avez donnés je test le code :
#include "syscall.h"
#define BUFSIZ 1024
 
 
main(){ /* copie l'entrée sur la sortie */
	char tamp[BUFSIZ];
	int n;
 
	while ((n = read(0, tamp, BUFSIZ)) > 0)
		write(1, tamp, n);
	return 0;
}
et la compilation se déroule bien. Mais dans la suite du texte il bien écrit que 
le parmètre BUFSIZ est compris dans appelsys.h (syscall.h).
Et c'est la que je bloque.
cdt Guillaume
Le dimanche 07 juin 2009 à 17:51 +0200, Jean-Damien Durand a écrit :
> On Sunday 07 June 2009 17:40:57 Sylvain Sauvage wrote:
> > Jean-Damien Durand, dimanche 7 juin 2009, 15:05:03 CEST
> >
> > >[…]
> > > Attend ca serait pas... syscall.h qu'une version francaise aurait osé
> > > traduire en appelsys.h... !?!?!?
> >
> >   Peut-être… mais personne n’inclut syscall.h. La seule utilité
> > de syscall.h, c’est quand on utilise la fonction syscall(2), et
> > personne n’utilise syscall(2), on utilise les fonctions, enfin…
> > les « prototypes typés » des appels systèmes. En clair, on ne
> > fait pas
> >   int res = syscall(SYS_read, fd, buf, cnt);
> > on fait
> >   int res = read(fd, buf, cnt);
> > ce qui permet d’avoir une vérification du type des arguments par
> > le compilateur, en plus d’une meilleure lisibilité.
> >
> >   Mais bon, il y a tellement de bouquins qui sont mal traduits
> > ou dont les exemples sont plutôt pourris…
> >
> > --
> >  Sylvain Sauvage
> 
> Certes - entièrement d'accord - tiens j'ai trouvé ce lien...:
> 
> http://users.powernet.co.uk/eton/kandr2/krx803.html
> 
> Ca sous-entend que le K&R2 (que je n'ai pas) mentionnerait des include qu'il 
> vaut mieux éviter - mais bon ne l'ayant pas je préfères ne rien affirmer-; -;
> 
> JD.
> 



Reply to: