Devel



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


Les étapes de la compilation



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


Quelques options de gcc


Norme

http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf
http://www.opengroup.org/onlinepubs/009695399/mindex.html

Tutoriel (EN)

http://www.network-theory.co.uk/docs/gccintro/

Livres

Le langage C : Norme ANSI - Brian W. Kernighan et de Dennis M. Ritchie (les auteurs du langage C)
http://www.amazon.fr/langage-C-Norme-ANSI/dp/2100487345 (ce livre est aussi surnommé le K&R)

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

stdlib

http://www.cppreference.com/wiki/c/start

libc

http://www.gnu.org/software/libc/

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

Bibliothèques graphiques (GUI) en C

GTK+
http://www.gtk.org
http://www.gtk-fr.org
Quelques exemples

Bibliothèques divers en C

GLib http://library.gnome.org/devel/glib/


Quelques exemples


Exemples divers

Obtenir le code source

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

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

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

Quelques exemples pour débuter en C

Obtenir le code source

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

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

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

Quelques exemples de GUI 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+

Autres compilateurs C

TCC Tiny C Compiler
http://fabrice.bellard.free.fr/tcc
LCC A Retargetable Compiler for ANSI C
http://www.cs.princeton.edu/software/lcc
SDCC Small Device C Compiler
http://sdcc.sourceforge.net

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

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