Ainsi parla gaetan cottron le 057�me jour de l'an 2004:
> Le Jeudi 26 F�vrier 2004 16:49, Nicolas Rueff a �crit :
> > Ainsi parla gaetan cottron le 057�me jour de l'an 2004:
> ...
> >
> > � open [et creat] renvoient le nouveau descripteur de fichier
> > s'ils r�ussissent, ou -1 s'ils �chouent, auquel cas errno contient
> > le code d'erreur. �
> >
>
> J'ai bien compris pour le -1, c'est plus pour le 3 que j'ai du mal.
C'est tout simplement un index vers le fichier que tu viens d'ouvrir
(utilis� par la suite pour faire r�f�rence � ce fichier).
Dans les programmes classiques (disons des trucs � la ligne de
commande), en g�n�ral 3 descripteurs de fichiers sont d�j� ouverts:
#0 => stdin (lecture des entr�es clavier)
#1 => stdout (�criture � l'�cran)
#2 => stderr (�criture des erreurs, � l'�cran)
Donc en lan�ant un prog, #0, #1 et #2 �tant d�j� pris, le premier
fichier ouvert obtient le #3, le second le #4, ... (bon, en fait il
existe quelques subtilit�s, mais le principe est l�).
> > Les premiers appels � des libtrucs sont faits au chargement de
> > l'ex�cutable qui tente de trouver les biblioth�ques li�es � ton
> > application. Il essaie de les charger (en essayant dans plusieurs
> > endroits "standards") , mais le fait qu'il ne les trouve pas n'est
> > pas forc�ment une erreur, tant qu'au final il en trouve au moins une
> > correspondante (chaipas si j'ai �t� clair, l�;). Bon, bref, c'est
> > pas grave.
> >
>
> OK, oui c'est claire (du moins pour moi). Une autre petite chose du
> coup, il tente sur 2 fichiers de faire :
> access("/chemin/nom_fichier", F_OK)
> Les 2 fois �a renvoie -1, est ce normal qu'il ne tente pas sur un 3e,
> est ce que �a pourrait valider l'erreur sur cette absence.
Non: les appels � access() (qui v�rifie l'existence d'un fichier dans ce
cas) sont faits au chargement de l'ex�cutable, � chaque fois qu'il a
besoin d'une biblioth�que partag�e. De ton point de vue, le programme ne
commence qu'� partir de la ligne 20 (ce n'est pas toujours valable).
> P.S. :
>
> Je finis avec le fichier complet de strace ( strace -o imprimante.txt
> cat gaziniere.txt | lpr [EMAIL PROTECTED] -V ) :
[SNIP]
hem, c'est le strace du cat que tu viens de fournir ... un
" strace -o imprimante.txt lpr [EMAIL PROTECTED] -V < gaziniere.txt "
me para�t d�j� plus adapt� ;)
--
Nicolas Rueff � Montb�liard � France � http://rueff.homelinux.org
(^> [EMAIL PROTECTED] � GPG 0xDD44DAB4
/v\ Jabber [EMAIL PROTECTED] � ICQ 97700474
<__/ � We are Penguin. Resistance is futile. You will be assimilated. �
--
Nicolas Rueff � Montb�liard � France � http://rueff.homelinux.org
(^> [EMAIL PROTECTED] � GPG 0xDD44DAB4
/v\ Jabber [EMAIL PROTECTED] � ICQ 97700474
<__/ � We are Penguin. Resistance is futile. You will be assimilated. �