summaryrefslogtreecommitdiffstats
path: root/ue4/protokoll/protokoll.tex
diff options
context:
space:
mode:
Diffstat (limited to 'ue4/protokoll/protokoll.tex')
-rw-r--r--ue4/protokoll/protokoll.tex10
1 files changed, 5 insertions, 5 deletions
diff --git a/ue4/protokoll/protokoll.tex b/ue4/protokoll/protokoll.tex
index 3c0eb9e..87a556a 100644
--- a/ue4/protokoll/protokoll.tex
+++ b/ue4/protokoll/protokoll.tex
@@ -40,17 +40,17 @@ Abbildung~\ref{fig:classdiagram1} zeigt das Klassendiagramm der Aufgabe.
40Wie gefordert, wurden die zwei zusätzliche Datentypen, \mbox{CDatSet} und \mbox{CDatN}, implementiert und der Programmcode generisch gestaltet. 40Wie gefordert, wurden die zwei zusätzliche Datentypen, \mbox{CDatSet} und \mbox{CDatN}, implementiert und der Programmcode generisch gestaltet.
41 41
42Dabei wurde \mbox{CDatSet} vom existierenden Typ \mbox{CDat} und boost::operators<\mbox{CDatSet}> mittels Mehrfachvererbung abgeleitet. 42Dabei wurde \mbox{CDatSet} vom existierenden Typ \mbox{CDat} und boost::operators<\mbox{CDatSet}> mittels Mehrfachvererbung abgeleitet.
43So war es möglich die Implemntierung, mittels Codewiederverwendung, auf das Überschreiben eines Kopierkonstruktors und des Operators \mbox{operator>>()} zu beschränken. 43So war es möglich die Implementierung, mittels Codewiederverwendung, auf das Überschreiben eines Kopierkonstruktors und des Operators \mbox{operator>>()} zu beschränken.
44 44
45Da der Typ \mbox{CDatN} Werte variabler Bitlänge representiert, war es notwendig diesen vollständig neu zu implementieren. Es wurde von boost::operators<\mbox{CDatN}> abgeleitet und dabei eine zusätzliche 45Da der Typ \mbox{CDatN} Werte variabler Bitlänge repräsentiert, war es notwendig diesen vollständig neu zu implementieren. Es wurde von boost::operators<\mbox{CDatN}> abgeleitet und dabei eine zusätzliche
46Methode \mbox{align()} definiert, die sicherstellt, dass der transportierte Wert immer auf die geforderte Bitanzahl konvertiert wird. 46Methode \mbox{align()} definiert, die sicherstellt, dass der transportierte Wert immer auf die geforderte Bitanzahl konvertiert wird.
47Weiters wurde ein Kopierkonstruktor definiert, der einen Integerwert und einen vorzeichenlosen Integerwert als Argument erwartet. 47Weiters wurde ein Kopierkonstruktor definiert, der einen Integerwert und einen vorzeichenlosen Integerwert als Argument erwartet.
48Letzterer ist mit dem Defaultwert 31 deklariert und repräsentiert die Bitanzahl, auf die ersterer konvertiert wird. Damit ist es möglich alle vorhandenen Datentypen einheitlich zu verarbeiten. 48Letzterer ist mit dem Defaultwert 31 deklariert und repräsentiert die Bitanzahl, auf die ersterer konvertiert wird. Damit ist es möglich alle vorhandenen Datentypen einheitlich zu verarbeiten.
49Der Defaultkonstruktor wurde wie gewünscht deaktiviert. 49Der Defaultkonstruktor wurde wie gewünscht deaktiviert.
50 50
51Um nun die Wahl des Datentyps zu ermöglichen, wurde die Synopsis des Programms mit \mbox{``-f''} erweitert. 51Um nun die Wahl des Datentyps zu ermöglichen, wurde die Synopsis des Programms mit \mbox{``-f''} erweitert.
52Der Parameter dieser Option muß \mbox{``s''} oder ein Wert zwischen ``2'' und ``32'' sein. 52Der Parameter dieser Option muss \mbox{``s''} oder ein Wert zwischen ``2'' und ``32'' sein.
53Im Hauptprogramm wird nun anhand dieses Parameters der zuständige Datentyp instanziert und die template Methode 53Im Hauptprogramm wird nun anhand dieses Parameters der zuständige Datentyp instanziert und die Templatemethode
54\mbox{cpu\_run()} aufgerufen, welche die Initialisierung und Abarbeitung des Programms anstößt. 54\mbox{cpu\_run()} aufgerufen, welche die Initialisierung und Abarbeitung des Programms anstößt.
55 55
56Damit das Programm mit den verschiedenen Datentypen umgehen kann, wurden \mbox{CCPU}, \mbox{CMem}, \mbox{CProgram}, \mbox{CInstuction} und die abgeleiteten \mbox{Instructions} 56Damit das Programm mit den verschiedenen Datentypen umgehen kann, wurden \mbox{CCPU}, \mbox{CMem}, \mbox{CProgram}, \mbox{CInstuction} und die abgeleiteten \mbox{Instructions}
@@ -73,7 +73,7 @@ zu Templates umgewandelt, die als Typparameter den, im Hauptprogramm, instanzier
73 73
74Die Register von \mbox{CCPU} werden nun, anstatt in einem Array, in einem Vector verwaltet. 74Die Register von \mbox{CCPU} werden nun, anstatt in einem Array, in einem Vector verwaltet.
75Dieser wird mit der Anzahl der Register und dem, im Hauptprogramm, instanzierten Datentyp initialisiert. 75Dieser wird mit der Anzahl der Register und dem, im Hauptprogramm, instanzierten Datentyp initialisiert.
76Dadurch ist das Löschen der register im Destruktor nicht mehr notwendig. 76Dadurch ist das Löschen der Register im Destruktor nicht mehr notwendig.
77 77
78Siehe auch Punkt~\ref{Probleme und Fallstricke}.\\ 78Siehe auch Punkt~\ref{Probleme und Fallstricke}.\\
79 79