C++
Introduction
Le langage C++ a été inventé par Bjarne Stroustrup afin de combler les lacunes du C. Il apporte ainsi la programmation objet, ainsi qu'une bibliothèque de conteneurs extrêmement utile : la
Standard Template Library (STL).
Sous Linux on utilise le compilateur
g++.
Edition du fichier
emacs mon_fichier.cc & (ou
mon_fichier.cpp)
Compilation
g++ mon_fichier.cc -o mon_executable
Remarque : si on veux que le compilateur affiche les messages non traduits il suffit de taper
LC_ALL=posix g++ mon_fichier.cc -o mon_executable
Execution
./mon_executable
Quelques exemples
Vous pouvez télécharcher des exemples.
Obtenir le code source
Accès web
http://svn.berlios.de/viewcvs/openphysic/cpp/tutorial_cpp Accès anonyme
svn checkout svn://svn.berlios.de/openphysic/cpp/tutorial_cpp Accès développeur
svn checkout svn+ssh://scls19fr@svn.berlios.de/svnroot/repos/openphysic/cpp/tutorial_cpp
Documentation / Tutoriels
http://www.cplusplus.com/reference
voir aussi
C
http://www.xgarreau.org/aide/devel/cpp (français)
Thinking in C++ - Bruce Eckel (anglais)
Le méga cours de C/C++ - Christian Casteyde (français)
Laurent Henocque - ESIL - Univ. de la méditerranée (français)
Olivier Caron - EDIL - Université de Lille I (français)
Divers liens
Livres
Programmer en C++ - Claude Delannoy - Eyrolles
Le langage C++ - Bjarne Stroustrup - Campus Press - Pearson Education
Bibliothèques
Essayez ces exemples de GUI en C++
Obtenir le code source
Accès web
http://svn.berlios.de/viewcvs/openphysic/cpp/gui Accès anonyme
svn checkout svn://svn.berlios.de/openphysic/cpp/gui Accès développeur
svn checkout svn+ssh://scls19fr@svn.berlios.de/svnroot/repos/openphysic/cpp/gui
Essayez ces exemples en C avec GTK++
Obtenir le code source
Accès web
http://svn.berlios.de/viewcvs/openphysic/c/gui/gtk+ Accès anonyme
svn checkout svn://svn.berlios.de/openphysic/c/gui/gtk+ Accès développeur
svn checkout svn+ssh://scls19fr@svn.berlios.de/svnroot/repos/openphysic/c/gui/gtk+
Bibliothèques spécifiques au C++
Standard Template Library
http://www.sgi.com/tech/stl/
Boost
http://www.boost.org
STLport
http://www.stlport.org
Environnement de développement intégré
Sous Windows, il existe un
IDE libre :
DevCpp.
L'avantage de cet environnement est de posséder le même compilateur que sous Linux (g++) ainsi qu'une couche d'Unix pour Windows (
MinGW).
Il existe également Code::Blocks
http://www.codeblocks.org
Sous Linux, on peut utiliser
Déboguer
Le plus gros travail du développeur consiste à tester son travail, et à résoudre des problèmes de programmation.
Un débogueur peut l'aider à effectuer un tel travail.
gdb est un débogueur en mode texte.
ddd est une interface graphique pour gdb.
xxgdb est une (autre) interface graphique pour gdb... un peu moins conviviale que ddd
insight http://sources.redhat.com/insight/
strace est un traceur d'appels système
http://www.liacs.nl/~wichert/strace
ltrace http://packages.debian.org/unstable/utils/ltrace.html
splint est un analyseur statique de code C
leaktracer et
valgrind permettent de vérifier l'absence de fuite mémoire
ElectricFence
http://perens.com/FreeSoftware/ElectricFence/
voir aussi :
DevelOutilsGNU
Autres outils
diff /
patch permettent de réaliser des patchs
Tous les exemples
Obtenir le code source
Accès web
http://svn.berlios.de/viewcvs/openphysic/cpp Accès anonyme
svn checkout svn://svn.berlios.de/openphysic/cpp Accès développeur
svn checkout svn+ssh://scls19fr@svn.berlios.de/svnroot/repos/openphysic/cpp
Normes
SO/CEI 14882:1998 (Standard C++)
ISO/CEI 14882:2003
A venir
http://fr.wikipedia.org/wiki/C%2B%2B0x