Programmation en c introduction








télécharger 125.34 Kb.
titreProgrammation en c introduction
page1/5
date de publication05.02.2018
taille125.34 Kb.
typeDocumentos
ar.21-bal.com > loi > Documentos
  1   2   3   4   5

ESNARD Aurélien Programmation en C ENSERB informatique

Programmation en C

Introduction


Le C est un langage de programmation impératif, c’est à dire dont le code ressemble au travail effectué par le processeur dans une architecture de Von Newman (1947). C’est un langage typé, c’est-à-dire dont le compilateur effectue une vérification du type à la compilation.

Compilation avec GCC


GCC est le compilateur C du projet GNU sous UNIX. Un compilateur traduit un code source, indépendant de la machine, en un fichier exécutable (en langage machine).
Compilation séparée : Pour compiler un programme composé de plusieurs fichiers C, il faut premièrement construire tous les fichiers objets. Par l’exécution de la commande : gcc –c , on crée le fichier objet file.o.. Puis, on procède à l’édition de lien, par la commande : gcc -o {} –l , qui construit le fichier exécutable fichier.exe. On utilise l’option -l m pour charger la librairie mathématique.

Dans le cas, où le programme se composerait d’un unique fichier C, on peut le compiler directement en exécutant la commande : gcc –o .

Makefile


Le fichier makefile permet d’automatiser la compilation, et encore d’autres tâches, grâce à la commande
make -k []
On donne la syntaxe du fichier makefile :
: {}


Il faut respecter une tabulation avant la commande. La création du fichier cible dépend de plusieurs fichiers. L’automate commence par tester l’existence du fichier cible, puis effectue une comparaison des dates entre cible et dépendance.
On définit généralement les cibles standards suivantes :

  • clean : supprimer les fichiers objets créés par le makefile hormis l’exécutable.

  • cleanall ou realclean : supprime tous les fichiers crées par le makefile.

  • install : compile et copie les fichiers à exporter (exécutable, .h, bibliothèques).

  • uninstall

  • tags : mise à jours des étiquettes.

  • all : compile le programme



On donne ci-dessous un exemple de fichier makefile.
CC= gcc

CFLAGS= -g -Wall -W

main.exe: main.o module1.o module2.o

$(CC) $(CFLAGS) -o main.exe main.o module1.o module2.o -lm
main.o: main.c

$(CC) $(CFLAGS) -c main.c
module1.o: module1.c module1.h

$(CC) $(CFLAGS) -c generation_graphe_pondere.c
module2.o: module2.c module2.h

$(CC) $(CFLAGS) -c generation_graphe.c
all: main.exe
clean:

rm *.o
cleanall: clean

rm main.exe
On notera l’utilisation de macro-définitions $(MACRO) que l’on définit simplement en écrivant MACRO= … Par ailleurs, on peut employer utilement les abréviations : $@ qui inique le nom de la cible courante, et $* qui donne le nom de la cible courante privée de son suffixe. Ainsi on peut simplifier l’écriture du makefile :

OBJ= main.o module1.o module2.o
main.exe: main.o module1.o module2.o

$(CC) $(CFLAGS) $(OBJ) -lm -o $@
main.o: main.c

$(CC) $(CFLAGS) -c $*.c

Options de compilation


  • affichage des warnings, et informations pour debbugage avec ddd : -Wall -w -g

  • pour ne pas prendre en compte les assertions : -dndebug

Creation d'une librairie


Pour créer une librairie ou bibliothèque en C, on utilise les commandes :

ar ruv library.a module1.o module2.o …
On ajoute un index des fichiers objets dans la librairie pour faciliter l'édition de lien avec la commande :

ranlib library.a
Pour l'édition de lien, il faut par la suite utiliser les options '-llibrary' pour utiliser cette bibliothèque et '-L.' pour préciser sa localisation (par exemple, le répertoire courant).

  1   2   3   4   5

similaire:

Programmation en c introduction iconIntroduction à la programmation php (version MySql)

Programmation en c introduction iconCours Pourquoi la programmation orientée objet? Concept d’objet Caractéristiques...

Programmation en c introduction iconIntroduction générale Introduction aux ordinateurs

Programmation en c introduction iconEt Programmation Orientée Objet

Programmation en c introduction iconProgrammation Maîtrise de la langue

Programmation en c introduction iconProgrammation Activités 2013

Programmation en c introduction iconProgrammation d’Histoire de l’Art

Programmation en c introduction iconProgression / Programmation Arts visuels

Programmation en c introduction iconAnnexe 3 : composition du comite de programmation

Programmation en c introduction iconDévoilement de la programmation printemps-été 2014








Tous droits réservés. Copyright © 2016
contacts
ar.21-bal.com