C
http://fr.wikipedia.org/wiki/C_%28langage%29
http://en.wikipedia.org/wiki/C_%28computer_language%29
Introduction
Le langage C a été inventé par Kernighan et Ritchie pour la création des premiers systèmes Unix.
C'est un langage proche du matériel sans notion d'objet (il existe toutefois les structures).
Sous Linux on utilise le compilateur
gcc.
Edition du fichier
emacs mon_fichier.c &
Compilation
gcc mon_fichier.c -o mon_executable"
Pour avoir un compilateur plus "exigeant" on utilise les options
-pedantic -ansi -Wall
Execution
./mon_executable
Compilation séparée, Makefile, Autotools
Lorsque l'on gère un projet assez important il est nécessaire pour éviter de prendre du temps de compiler séparément les fichiers sources.
on réalise ceci avec l'option
-c de
gcc.
gcc fichier1 -c
gcc fichier2 -c
On obtient ainsi les fichiers objets
fichier1.o et
fichier2.o
On peut alors linker ces fichiers via la commande :
gcc fichier1.o fichier2.o -o executable
Une telle opération peut-être automatisée via l'utilisation des
outils GNU tels que GNU
make et un fichier
Makefile.
Les
autotools permettent même de générer un fichier
Makefile gérant les dépendances.
On peut alors installer un logiciel via les commandes :
./configure
make
su
make install
Norme
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf
Livres
Le langage C : Norme ANSI - Brian W. Kernighan et de Dennis M. Ritchie (les auteurs du langage C)
FAQ (FR)
http://www.usenet-fr.net/fur/comp/lang/faq-c-1.html
http://www.usenet-fr.net/fur/comp/lang/faq-c-2.html
http://www.usenet-fr.net/fur/comp/lang/faq-c-3.html
http://www.usenet-fr.net/fur/comp/lang/faq-c-4.html
http://docs.mandragor.org/files/Programming_languages/C/fclc_faq_fr/
FAQ (US)
http://c-faq.com/
Doc (FR)
http://www.docsdunet.com/doc_c.html
http://www.enseignement.polytechnique.fr/profs/informatique/Eric.Goubault/poly/cours.ps.gz
http://www.enseignement.polytechnique.fr/profs/informatique/Jean-Jacques.Levy/poly/polyx-cori-levy.ps.gz
http://picolibre.int-evry.fr/projects/coursc/
ftp://ftp.laas.fr/pub/ii/matthieu/c-superflu/c-superflu.pdf
http://fr.wikibooks.org/wiki/C_%28langage%29
Bibliothèques
Bibliothèques graphiques (GUI) en C
Quelques exemples
Exemples divers
Obtenir le code source
Accès web
http://svn.berlios.de/viewcvs/openphysic/c Accès anonyme
svn checkout svn://svn.berlios.de/openphysic/c Accès développeur
svn checkout svn+ssh://scls19fr@svn.berlios.de/svnroot/repos/openphysic/c
Quelques exemples pour débuter en C
Obtenir le code source
Accès web
http://svn.berlios.de/viewcvs/openphysic/c/tutorial_c Accès anonyme
svn checkout svn://svn.berlios.de/openphysic/c/tutorial_c Accès développeur
svn checkout svn+ssh://scls19fr@svn.berlios.de/svnroot/repos/openphysic/c/tutorial_c
Quelques exemples de GUI 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+
Autres compilateurs C
TCC Tiny C Compiler
LCC A Retargetable Compiler for ANSI C
SDCC Small Device C Compiler