Changes between Version 4 and Version 5 of 2011CaoTme45


Ignore:
Timestamp:
Mar 15, 2012, 2:03:28 PM (13 years ago)
Author:
jpc
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • 2011CaoTme45

    v4 v5  
    6767Interface simplifiée de la bibliothèque :
    6868{{{
     69#!cpp
    6970class Library {
    7071  public:
     
    110111afficher l'objet dans un flux. Dans {{{Locon.h}}} :
    111112{{{
     113#!cpp
    112114class Locon {
    113115  public:
     
    192194
    193195__Les modificateurs__ :
    194  * {{{setMode ( unsigned int );}}}
     196 * {{{void  setMode ( unsigned int );}}}
    195197
    196198__Les modificateurs relatifs aux modèles__ :
     
    272274afficher l'objet dans un flux. Dans {{{Lofig.h}}} :
    273275{{{
     276#!cpp
    274277class Lofig {
    275278  public:
     
    302305par étape.
    303306
     307
    304308== Question 1 ==
    305309
     
    314318== Question 2 ==
    315319
     320En plus de l'affichage {{{XML}}}, il vous est possible d'utiliser un
     321visualisateur (primitif) de ''netlist''. Pour l'utiliser, récupérez
     322les fichiers suivants:
     323* [attachment:viewer.mk     viewer.mk] portion de Makefile
     324* [attachment:MbkBridge.h   MbkBridge.h] ''header'' pour le convertisseur vers {{{Hurricane}}}.
     325* [attachment:MbkBridge.cpp MbkBridge.cpp] corps du convertisseur.
     326* [attachment:RawViewer.h   RawViewer.h] ''header'' pour le visualisateur.
     327* [attachment:RawViewer.cpp RawViewer.cpp] corps du visualisateur.
     328
     329Dans votre {{{Makefile}}}, ajoutez près du début du fichier:
     330{{{
     331# "tme45" est le nom de votre binaire.
     332all: tme45
     333
     334include viewer.mk
     335}}}
     336
     337'''Principe de la première règle''': si rien n'est précisé sur la ligne de commande,
     338{{{make}}} exécute la première règle rencontrée. Pour que, par défaut, il construise
     339votre binaire, ajoutez ''avant'' le {{{include}}} une régle '''all'''.
     340
     341Si vous avez répartis vos {{{.h}}} et {{{.cpp}}} dans différents répertoires,
     342positionnez dans le {{{Makefile}}} les variables suivantes (en adaptant):
     343{{{
     344INC_DIR = ./includes
     345OBJ_DIR = ./obj
     346SRC_DIR = ./src
     347}}}
     348
     349'''Positionnement de l'environnement''': avant de lancer {{{make}}}, positionnez
     350l'environnement avec la commande suivante:
     351{{{
     352source /soc/coriolis2/etc/coriolis2/coriolis2.sh
     353}}}
     354
     355
     356== Question 3 ==
     357
    316358Implanter, classe par classe les métodes de {{{Locon}}}, {{{Losig}}},
    317359{{{Loins}}} et {{{Lofig}}}. Compiler systématiquement entre chaque
    318 classe. On utilisera le {{{Main}}} fourni (de l'{{{halfadder}}}).
    319 
    320 
    321 == Question 3 ==
     360étape en vérifiant, avec l'affichage {{{xml}}} que les composants
     361ajoutés à chaque étape apparaissent bien. On utilisera le {{{Main}}}
     362fourni (de l'{{{halfadder}}}).
     363
     364'''Ordre d'implantation des classes''':
     3651. La classe {{{Loins}}}, en ommetant la gestion de la duplication
     366   des connecteurs du modèle. Dans la même étape, ajouter dans la
     367   {{{Lofig}}} l'addition des {{{Loins}}}.
     3682. La class {{{Locon}}}, avec la gestion de l'addition des {{{Locon}}}
     369   dans au niveau de la {{{Lofig}}}.
     3703. Ajouter le support de la duplication des {{{Locon}}} du modèle dans
     371   la {{{Loins}}} lors de l'instanciation.
     3724. La class {{{Losig}}} avec les différentes fonctions de connexion
     373   dans les {{{Loins}}} et les {{{Lofig}}}.
     374
     375
     376== Question 4 ==
    322377
    323378Pour valider votre travail, il vous est demandé de décrire la ''netlist''
     
    334389
    335390
    336 == Question 4 ==
     391== Question 5 ==
    337392
    338393En analysant le chaînage des objets entre eux, proposer les séquences de
    339394destruction appropriées pour chaque objet, puis les implanter dans les
    340395destructeurs.
     396
     397'''Note:''' Normalement, la destruction d'un {{{Losig}}} devrait entraîner
     398son retrait dans toutes les {{{Locon}}} ou il apparaît, dans un soucis
     399de simplicité, nous ne le ferons pas.