Devel



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
https://openphysic.googlecode.com/svn/trunk/cpp/tutorial_cpp

Accès anonyme
svn checkout https://openphysic.googlecode.com/svn/trunk/cpp/tutorial_cpp

Accès développeur
svn checkout --username mon_email@gmail.com https://openphysic.googlecode.com/svn/trunk/cpp/tutorial_cpp

Documentation / Tutoriels

http://www.cplusplus.com/reference
http://fr.cppreference.com/
voir aussi C
http://www.xgarreau.org/aide/devel/cpp (français)

Thinking in C++ - Bruce Eckel (anglais)
http://mindview.net/Books/TICPP/ThinkingInCPP2e.html
http://bruce-eckel.developpez.com/livres/cpp/ticpp
Traduction - Penser en C++
http://bruce-eckel.developpez.com/livres/cpp/traduction/ticpp2vol1

Le méga cours de C/C++ - Christian Casteyde (français)
http://casteyde.christian.free.fr/cpp/cours/index.html

Laurent Henocque - ESIL - Univ. de la méditerranée (français)
http://pages-perso.esil.univmed.fr/~henocque.1/cours.html
http://pages-perso.esil.univmed.fr/~chaouiya/C++/coursCourcelle/index.html

Olivier Caron - EDIL - Université de Lille I (français)
http://www.iut-bethune.univ-artois.fr/~caron/courscpp/courscpp.html

Divers liens
http://www.fresnel.fr/perso/derrode/SiteInfo/SiteInfo.html

Livres

Programmer en C++ - Claude Delannoy - Eyrolles
Le langage C++ - Bjarne Stroustrup - Campus Press - Pearson Education

Bibliothèques

Bibliothèques graphiques

Essayez ces exemples de GUI en C++

Obtenir le code source

Accès web
https://openphysic.googlecode.com/svn/trunk/cpp/gui

Accès anonyme
svn checkout https://openphysic.googlecode.com/svn/trunk/cpp/gui

Accès développeur
svn checkout --username mon_email@gmail.com https://openphysic.googlecode.com/svn/trunk/cpp/gui

Essayez ces exemples en C avec GTK++

Obtenir le code source

Accès web
https://openphysic.googlecode.com/svn/trunk/c/gui/gtk+

Accès anonyme
svn checkout https://openphysic.googlecode.com/svn/trunk/c/gui/gtk+

Accès développeur
svn checkout --username mon_email@gmail.com https://openphysic.googlecode.com/svn/trunk/c/gui/gtk+

Calcul numérique, algèbre linéaire...


Bibliothèques diverses


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
- Anjuta (GNOME / C)
- KDevelop (KDE / C++)
- Eclipse (Java) avec le plugin CDT.
- QTdesigner (QT / C++)

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

Gestionnaire de dépendances

https://www.conan.io/ <- https://www.biicode.com/

Tous les exemples

Obtenir le code source

Accès web
https://openphysic.googlecode.com/svn/trunk/cpp

Accès anonyme
svn checkout https://openphysic.googlecode.com/svn/trunk/cpp

Accès développeur
svn checkout --username mon_email@gmail.com https://openphysic.googlecode.com/svn/trunk/cpp

Normes

SO/CEI 14882:1998 (Standard C++)
ISO/CEI 14882:2003
A venir : C++0x
http://fr.wikipedia.org/wiki/C%2B%2B0x

Style

Google C++ Style Guide http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml

Extension

Runtime Compiled C https://github.com/RuntimeCompiledCPlusPlus/RuntimeCompiledCPlusPlus

There are no comments on this page. [Add comment]

Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by WikkaWiki