Cours LNX-311 Introduction à la programmation en C sous Linux: langage et outils
Objectif
Ce stage intensif prodigue à celles et ceux qui désirent débuter dans la programmation d?applications en C sous Linux, les bases indispensables de la syntaxe et de la sémantique du langage et des outils connexes, comme le compilateur GNU C, les utilitaires automake et autoconf, ou les divers débogueurs (gdb, kgdb, ou kdb).
Pré-requis
Des connaissances préalables d?autres langages de programmation procéduraux ou structurés (Pascal) ou même orienté-objet (C++, Java, C#, ?) sont un atout (mais pas indispensable).
The audience that is targeted are experienced C programmers (with UNIX or Linux workstation power user skills) interested in beginning to develop applications on Linux.
Contenu
Concepts fondamentaux
Structure et composants d?un programme C (fonction main, fonctions, modules, librairies?). Déclaration de variables et de fonctions. Instructions et opérations. Les fonctions d?entrée/sortie de base. L?allocation de blocs mémoire, les pointeurs et les références. Pointeurs et références de fonctions. Directives de contrôle du compilateur (avec #pragma). Commandes du préprocesseur (#include, #define, ?). Types de données prédéfinis, simples et composés. Les énumérations et les unions. Principes de la programmation modulaire en C. Structures de contrôle du flux d?exécution: les boucles (for, while, do?while), les branchements et les sauts (switch, goto) et les tests conditionnels (if?then?else). Appels à des fonctions codées en assembleur.
Outils de développement
Prise en main du compilateur gcc. Compilation automatisée avec les outils automake et autoconf. Technique de compilation distribuée avec le compilateur distcc. Prise en main du débogueur gdb. Les librairies C standard GNU (i.e. libc et glibc) et leur chargement. Modularisation et assemblage d?une application avec le linker.
Algorithmes, structures de données et complexité
Introduction aux algorithmes et aux structures de données (tri rapide ou quicksort, traversées d?arbres, hachage, listes chainées, arbres binaires/ternaires, graphes, ?). Traitement de chaines de caractères (tri et recherche lexicographique, compression, appariement de motifs, ?). Notions essentielles d?analyse de complexité algorithmique (problèmes NP-complets, notation big-O, ?).
Examen(s) préparé(s)
Attestation Infolearn à la fin de chaque formation. A la demande expresse du client, des tests officiels peuvent être réalisés.
Langue du cours
FR
Durée
5 jour(s)
Prix
3000.- CHF
Nos cours collectifs
Aucune session programmée


