La démo a lieu les mercredis de 8 h 30 à 10 h 30 dans la salle AA-1340.
| Démonstrateur | Disponibilité |
|---|---|
| David Haguenauer | mercredi 10 h 30 |
Les disponibilités sont données au local AA-3197 (à confirmer). Si l'horaire ne vous convient pas du tout, vous pouvez en négocier un autre. Note : je ne donnerai normalement la disponibilité du mardi que si vous m'indiquez votre intention d'y venir ; envoyez-moi un courriel ou venez me voir pendant la démo pour me prévenir.
Vous pouvez communiquer avec moi en dehors des heures de disponibilité en écrivant à : <dift2035 (at) iro.umontreal.ca>.
gcc -ansi
-Wall -O2 -o refcount refcount.c et à exécuter avec
./refcount ou même valgrind
./refcount pour tester la présence d'erreurs de
gestion de mémoire.)gcc -c -ansi -Wall -O2 linkedlist.c
; gcc -c -ansi -Wall -O2 testlinkedlist.c ; gcc -o linked
testlinkedlist.o linkedlist.o et en exécutant
./linked voire valgrind ./linked
pour rechercher des erreurs de gestion de mémoire (le code
fourni en contient au moins une, puisqu'il ne libère pas la
liste allouée).#ifdef.Vous pouvez compiler votre code avec une commande telle que
gcc -c -pedantic -Wall -O2 stralloc.c qui, idéalement,
ne devrait pas donner plus d'avertissements que le code fourni
(i.e., aucun). Ensuite, vous pouvez compiler votre programme
principal, e.g. main.c qui définit une fonction
main avec une suite de commandes telle que
gcc -c -pedantic -Wall -O2 main.c ; gcc -o main main.o
stralloc.o.
Vous pouvez utiliser comme exemple le programme linesort pour tester votre code. Je
fournis aussi un makefile (changez
son nom en Makefile) pour compiler le tout. Ce
programme imite la commande Unix sort. Exemple
d'utilisation:
$ make gcc -pedantic -Wall -O2 -g -c -o linesort.o linesort.c gcc -pedantic -Wall -O2 -g -c -o stralloc.o stralloc.c gcc linesort.o stralloc.o -o linesort $ cat fruits banane pomme orange goyave cerise citron mandarine guarana mangue $ ./linesort <fruits banane cerise citron goyave guarana mandarine mangue orange pomme $ valgrind ./linesort <fruits ==1337== Memcheck, a memory error detector. [...] banane cerise citron goyave guarana mandarine mangue orange pomme ==1337== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 4 from 1) [...] ==1337== All heap blocks were freed -- no leaks are possible.
Vous pouvez commencer par implémenter une version de
stralloc.c qui utilise malloc au
lieu de mmap à fins de tests, puis choisir un
algorithme d'allocation et enfin le coder en allouant avec
mmap.
Quelques exemples d'expressions µPTS: tp3-ex.txt
hugs, ajoutez la ligne suivante à
votre fichier d'initialisation (.bash_profile, par exemple),
pour les shells de la famille bash :
export PATH=$PATH:/u/dift2035/binou, pour les shells de la famille csh :
setenv PATH $PATH:/u/dift2035/bin
data.hs en tapant :load data:
$ ls -l data.hs -rw------- 1 haguenad parallelisme 892 May 24 11:56 data.hs $ hugs __ __ __ __ ____ ___ _________________________________________ || || || || || || ||__ Hugs 98: Based on the Haskell 98 standard ||___|| ||__|| ||__|| __|| Copyright (c) 1994-2005 ||---|| ___|| World Wide Web: http://haskell.org/hugs || || Report bugs to: hugs-bugs@haskell.org || || Version: March 2005 _________________________________________ Haskell 98 mode: Restart with command line option -98 to enable extensions Type :? for help Hugs.Base> :load data Main> :type Vrai -- le type Booleen vient de data.hs Vrai :: Booleen Main>
man 3 printf pour la fonction
printf (avec les mêmes précautions que ci-dessus).gprolog (les
réglages de la section sur Haskell
y donnent accès).trace. active le mode d'exécution
pas-à-pas : chaque appel de prédicat est montré
(Call, puis, lors du backtrack,
Redo), ainsi que son succès
(Exit) ou son échec (Fail);notrace. désactive l'exécution pas-à-pas;a (abort) pour
interrompre l'exéction, f (fail) pour forcer
un prédicat à échouer, etc.write/1 (lien
direct) qui vous permettra par exemple d'imprimer des
termes pendant l'exécution du programme (mais, s'il vous
plaît, évitez de laisser des impressions dans le code que vous
rendez).M-x
prolog-mode, soit mettre en première ligne du fichier
un commentaire tel que % -*-prolog-*- et
recharger le fichier : le mode Prolog devrait alors être
automatiquement choisi.$Id: index.html,v 1.72 2009/12/14 21:36:08 haguenad Exp $, 正