031
08.08.2003, 16:38 Uhr
0xdeadbeef
Gott (Operator)
|
Äh, Code-Einrückung ist was anderes als Syntax-Highlighting.
Mit der MFC stimmt nicht: 1. Das ganze Late-Binding-Gesumse, Stichwort COM/OLE. Du kriegst dauernd Programme ohne Warnung und Fehlermeldung kompiliert, die garnicht laufen können, und dadurch entstehen Heisenbugs ohne Ende. 2. Der Linker ist total bescheuert. Je nachdem, ob du die MFC dynamisch oder statisch linkst, brauchst du unterschiedlichen Code. 3. Der Klassenbaum ist sehr merkwürdig organisiert. Nur um ein Beispiel zu nennen: Je nachdem, in welcher Event-Handling-Routine du dich befindest, brauchst du eine andere DC-Klasse, um in das Fenster zu malen. Ich musste mir da mit einem ziemlich kranken template-Move helfen, um meinen DC trotzdem vernünftig zu kapseln. Dann gibt es Klassen, die public-Methoden haben, die man nur bei ihrer Basis-Klasse aufrufen darf. Da wird dann durch Laufzeit-Asserts abgebrochen, siehe Punkt 1. 4. Diese merkwürdigen *MAP-Makros. Es ist sehr schwer nachzuvollziehen, was für Code du nachher eigentlich schreibst.
Nur, um ein paar zu nennen.
autoconf/automake stellt ein einheitliches Konfigurationsinterface zur Verfügung, das vieles von der Konfiguration deines Rechners selbstständig erkennt - gegen welche Bibliotheken das Programm nachher gelinkt wird, ob alle Abhängigkeiten erfüllt sind etc. Außerdem kannst du, ohne eine Datei editieren zu müssen, das Programm für den Rechner optimieren, für den du es übersetzt. Das sind so die prominentesten. Es ist ziemlich schwer, autoconf und automake in zwei Sätzen zusammenzufassen, ich schlage vor, du liest mal die Doku auf
www.gnu.org/manual/autoconf/index.html www.gnu.org/manual/automake/index.html
durch. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra |