Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Tanguy Risset
Table of Contents
2 Makele
Rappels d'architecture
0 100000
(petites adresses) (grandes adresses)
Processus de compilation
Exécution
exe
chargement
Simulation
contenu de ex.c
#include <stdio.h>
ex.c ex.o
gcc −c ex.c
int main()
{ stdio.h libstdio.a
printf("hello World\n");
gcc ex.o −o ex
ex
gcc ex.c −o ex
return(0);
}
Dénomination à retenir
de la fonction printf
Tanguy Risset CRO: C langage and programming Roots 8
Rappel architecture et compilation Makele
Méthodes
Rééchir avant d'agir !
règles de développement (programmation agile, programmation par test)
Language objet: C++, Java
Outils
Commentaire en Doxygen
Gestionnaire de compilation : make
Debugger : gbd, ddd, ....
Environnements de développement (intègrent tout): eclipse,
VisualC++
Table of Contents
2 Makele
Make
main: main.o
gcc main.o -o main
main: $(OBJ)
gcc -o main $(OBJ)
mv main $(TARGET_BIN)
la commande make main exécute:
gcc -o main main.o utils.o truc.o
mv main ../bin
Tanguy Risset CRO: C langage and programming Roots 14
Rappel architecture et compilation Makele
Makele: Exemple
CC =gcc
EXE =ex1 ex1.1 ex1.2 ex1.3 ex2.1 ex3.1
SRC=$(EXE:=.c)
OBJ=$(SRC:.c=.o)
all: $(EXE)
tar:
make clean
cd ..;tar -cvf TD1_corr.tar TD1/ex*.c TD1/test*.in TD1/
.SUFFIXES : .o .c
.c.o :
${CC} ${CFLAGS} -c $< -o $@
clean:
-rm -f *~Tanguy
*.outRisset $(EXE)
CRO: C*.o
langage and programming Roots 18
Rappel architecture et compilation Makele
Makele: Exemple