Outils personnels
Vous êtes ici : Accueil C & C++

C et C++

Par Benjamin Poulain - Dernière modification 24/04/2008 23:02

Introduction aux langages C et C++. Toutes les ressources sur ces langages.

Le langage C est un langage de bas niveau créé en 1972 pour implémenter le premier système Unix. Ce langage a doucement évolué et est maintenant utilisé par pratiquement tout les noyaux de système d'exploitation, ainsi que par l'ensemble des sous-systèmes (machines virtuelles, serveur graphique, bibliothèque système, etc) d'un ordinateur.

Le langage C++ a été créé en 1979 pour ajouter le paradigme orienté objet au langage C. C++ est utilisé par de très nombreuses applications utilisateurs (navigateurs web, lecteurs audio/video, logiciels bureautique, etc). Son avantage par rapport au C est d'ajouter la gestion des objets, ce qui facilite la conception des logiciels. Le langage C++ est nettement plus compliqué que C, ce qui le rend son apprentissage plus long.

C et C++ sont tout deux largement utilisés dans les logiciels libre. Une des raisons est que ces deux langages sont parmi les plus rapide à l'exécution, et beaucoup de développeurs de logiciels libre sont attaché à cet avantage de performance. Une seconde raison est que de nombreux ingénieurs apprennent ce langage au cours de leur étude. Finalement, il est existe aussi une culture du C et C++ au sein des logiciels libre.

Commencer avec C++

Les bon cours de C++ sont rares, aussi bien online que dans les livres. Vous pouvez commencer par le cours de C++ de Christian Casteyde qui est vraiment bien fait.

Sur ce site, nous vous proposons:

Programmation système

Connaitre les langages C ou C++ n'est pas suffisant pour réaliser de vrai programme car la bibliothèque standard est très limité. Pour de nombreuses tâche courante: parallélisme d'exécution, communication réseau, communication inter-processus, etc, il faut passer par les bibliothèques système qui sont spécifique à Unix.

Nous avons une série d'article pour introduire toutes ces bibliothèque. En voici les principaux:

  • Les processus: explique comment créer, finir et gérer les processus
  • Les threads: introduit les thread posix et leur utilisation. Les problèmes de synchronisation sont brièvement introduits (page très populaire depuis le multicore)
  • Les fichiers: explique ouvrir, gérer et manipuler fichiers et dossiers
  • Les sockets: explique comment utiliser communiquer entre processus sur le réseau ou sur la même machine (cette page est incroyablement populaire)
  • Les signaux: explique comment prendre en charge les signaux, et comment en envoyer

Les articles cité ici ne sont que les plus populaire, pensez à aller voir l'ensemble des articles, il y a aussi des exercices résolus.

Wishlist

Quelques idées d'articles souhaités:

  • Cours de C
  • La sécurité avec C & C++
  • Présentation du noyau Linux
  • Introduction à GTK

Ressources

Une référence de la bibliothèque standard de C++

Pages de manuel de Linux Certif: contient les références de nombreuses bibliothèques

Actions sur le document