Programmation linux
Collections :
La programmation Unix/Linux sous toutes ses facettes Traduction du best-seller americain Beginning Linux Programming, cet ouvrage vous conduira rapidement à une bonne maîtrise des différents aspects de la programmation Linux, de l'écriture de scripts shell à la programmation Internet, en passant par la construction d'interfaces graphiques X Window ou Gnome. La partie centrale de l'ouvrage est consacrée à la programmation... Voir plus
Commander sur notre librairie en ligne
-
La programmation Unix/Linux sous toutes ses facettes
Traduction du best-seller americain Beginning Linux Programming, cet ouvrage vous conduira rapidement à une bonne maîtrise des différents aspects de la programmation Linux, de l'écriture de scripts shell à la programmation Internet, en passant par la construction d'interfaces graphiques X Window ou Gnome.La partie centrale de l'ouvrage est consacrée à la programmation système en langage C, depuis la prise en main des outils GNU jusqu'aux aspects les plus avancés (threads, communication interprocessus, sockets). L'ouvrage s'achève par un chapitre d'initiation au développement de pilotes de périphériques (device drivers), excellente manière de découvrir le fonctionnement du noyau Linux.
La plupart des langages et techniques de programmation décrits dans l'ouvrage sont illustrés à travers une étude de cas (application de gestion d'une collection de CD audio), dont les fonctionnalités sont enrichies au fil des chapitres et dont le code source est disponible sur le site Wrox
À qui s'adresse ce livre ?
- Aux utilisateurs Linux avertis voulant s'initier à la programmation de leur système favori.
- Aux administrateurs de systèmes Unix ou Linux souhaitant aller au-delà de l'écriture de simples scripts shell.
- Aux programmeurs expérimentés venant d'autres environnements (Windows, gros systèmes) et souhaitant migrer vers des plates-formes Unix ou Linux.
- À tous les étudiants en informatique, pour lesquels Linux constitue une plate-forme idéale d'initiation à la programmation.
L'exposé est totalement indépendant de la distribution Linux utilisée puisqu'il repose sur des outils GNU et sur des bibliothèques fournis en standard dans toutes les distributions (Caldera, Debian, Mandrake, RedHat, SuSE, etc.). Ces outils et bibliothèques étant également disponibles sur toutes les plates-formes Unix du marché, l'ouvrage peut etre utilisé comme guide générique de programmation Unix.
Au sommaire
- Introduction à l'écriture de scripts shell
- Structure et compilation d'un programme Unix/Linux en langage C
- Gestion des fichiers et des entrées/sorties
- Gestion des terminaux (GTI, termios, terminfo)
- Utilisation des curses
- Gestion de la mémoire
- Verrouillage des fichiers (lock files)
- Gestion des données avec dbm
- Outils de développement : commande make et makefiles
- Contrôle du code source avec RCS, SCCS ou CVS
- Distribution avec patch, tar et gzip
- Debogage avec gdb et autres outils
- Processus et signaux
- Threads Posix
- Communication interprocessus et tubes (pipes)
- Application client-serveur avec tubes FIFO
- Semaphores, memoire partagee et files d'attente de messages
- Programmation réseau avec les sockets
- Introduction au langage Tcl
- Programmation X Window avec Tcl et la boîte à outils Tk
- Programmation GNOME en langage C avec la bibliothèque GTK+
- Introduction au langage Perl
- Construction d'une application Web avec CGI
- Introduction au noyau Linux et à l'ecriture de pilotes de périphériques (device drivers)
Les livres de la collection Solutions developpeurs/Autoformation sont conçus avec le souci de rendre l'apprentissage de la programmation plus facile que jamais, tout en conduisant rapidement le lecteur vers une maîtrise des aspects avancés des langages et outils de développement.
Ces ouvrages s'appuient pour cela sur des méthodes pédagogiques éprouvées : exemples simples et pertinents pour introduire les nouveaux concepts, enchainement sans heurts des explications, exercices corrigés de mise en pratique des acquis : tout est conçu pour que les débutants (et les faux débutants) puissent accéder rapidement aux fonctions les plus complexes des produits et réaliser ainsi de véritables applications professionnelles.
-
Titre Programmation linux Auteur(s) Richard Stones, Neil Matthew Collection(s) Solutions Développeurs Editeur Eyrolles Parution 22 février 2000 Edition 1ère édition Nb de pages 1020 pages Format 230 x 190 mm Poids 1775 g EAN13 9782212091298 ISBN13 978-2-212-09129-8 ISBN10 2-212-09129-X -
-
Page
61
dans [ -d "$fichier" ] remplacer 'fichier' par 'file' ainsi que dans : echo "Le premier répertoire débutant par fred est $fichier"
-
Page
76
Passons à la pratique ! Les paramètres Dans l'exemple 1 afin d'obtenir les bons resultats modifier comme suit: bar=/usr/local/etc/local/networks # echo ${bar%local*} echo ${bar%/local*} # echo ${bar%%local*} echo ${bar%%/local*}
-
Page
86
paragraphe 7: à la fin de la structure "case $nblignes in" ,il semble manquer les ";;" à la fin de l'option 2)
-
Page
87
code de la fonction trouve_cd(), 15e ligne: if [ "$asklist" = "y" ]; then ...à remplacer par: if [ "$asklist" = "o" ]; then ...asklist se voit affecté o ou n au début de la fonction p.86.
-
Page
89
paragraphe 12: dans la construction "case $choix_menu in" l'option b) correspond en fait à l'option d) de la fonction "fixe_menu_choix" pour dénombrer les CD (ou l'inverse...)
-
Page
89
code de la routine principale, 3 lignes avant le bas de page: q | Q ) quit=y;; ...à remplacer par: q | Q ) quit=o;; ...on quitte la boucle while lorsque quit est à o.
-
Page
92
"Répertoires", 2e paragraphe: "Vous pouvez voir le numéro d'i-noeud d'un fichier en tapant ln -i." ...à remplacer par: "Vous pouvez voir le numéro d'i-noeud d'un fichier en tapant ls -i."
-
Page
103
Dans le programme copie_systeme.c : Les variables "dedans" et "dehors" ne sont pas définies. Les remplacer respectivement par "entree" et "sortie".
-
Page
104
Dans le programme copie_bloc.c : * Les variables "in" et "out" ne sont pas définies. Les remplacer respectivement par "entree" et "sortie". * Dans la définition des variables supprimer l'accent sur "entrée". (entrée != entree). * La variable "nlu" n'est pas déclarée. La déclarer comme INTEGER.
-
Page
106
Dernier paragraphe avant la liste: Remplacer "Les drapeaux de autorisations..." par "Les drapeaux d'autorisations..."
-
Page
115
"Voici les uatres spécifications de conversion: ... - %f, %e, %g lecture d'un entier en virgule flottante" Comprendre "lecture d'un réel en virgule flottante", ou d'un "nombre" en virgule flottante, mais pas d'un entier.
-
Page
383
A propos de waitpid : "L'option la plus utile est WNOHANG; elle permet d'empêcher l'appel à waitpid et de suspendre l'exécution de l'appelant." Le "et" est de trop, il faut lire: "L'option la plus utile est WNOHANG; elle permet d'empêcher l'appel à waitpid de suspendre l'exécution de l'appelant."
-
Page
386
tableau des signaux: Le premier cité est SIGABRT et non pas SIGABORT.
-
Page
850
ligne 3 erreur sur le type de *vma. Original : static int schar_mmap(struct file *file, struct struct_zone_mv *vma); Correction : static int schar_mmap(struct file *file, struct vm_area_struct *vma);
-
Page
883
tableau des prototypes de get_user et put_user: "put_user(void *x, const void *adr) ..." Il y a inversion des paramètres, le proto est: put_user(const void *adr, void *x) (le texte explicatif en regard est correct)
-
-
- Liens externes
-
erratum
- Fichiers à télécharger
-
Codes sources de l'ouvrage
Richard Stones
Richard Stones - Richard Stones graduated from university with an electrical engineering degree, but decided software was more fun. He has programmed in a variety of languages, but only admits to knowing VB under duress. He has worked for a number of companies, from the very small to the very large, in a variety of areas, from real-time embedded systems upward. He is currently employed by Celesio AG as a systems architect,...
Neil Matthew
Neil Matthew - Neil Matthew graduated with a degree in mathematics from the University of Nottingham in the UK and has been using and programming computers for over 30 years. Neil has used just about every flavor of UNIX since 1978, right up to today's Linux distributions. He has co-authored several computing books with Richard Stones, including Beginning Linux Programming, Professional Linux Programming, and Beginning...