[Dune] Frage bzgl. Albert Lib Anbindung.
Robert Kloefkorn
robertk at mathematik.uni-freiburg.de
Fri Mar 21 14:55:21 CET 2003
Thimo Neubauer wrote:
> Hallo,
>
>
> Das verstehe ich nicht ganz: meinst Du mit "eigene lib mit den neusten
> cvs sourcen" so etwas wie: ab und zu nimmt man sich die Albert-Sourcen
> aus dem CVS, haut da einen Satz patches drauf und checkt das Ergebnis
> in Dune ein? Wenn ja, dann bin ich dagegen :) Dieses System hätte
> nämlich den Nachteil, dass sich, jedes Mal, wenn Albert sich ändert,
> jemand auf der Dune-Seite die Anpassungen machen müsste.
> Erfahrungsgemäss hat da nach einer Weile keiner mehr Lust drauf und
> die Versionen divergieren...
Generell bin ich Deiner Meinung. Am besten ist, man lässt Albert ganz
aus Dune raus und verwendet nur die lib von Albert.
>
> Naja, man wird nicht umhin kommen, die Albert-Sourcen auf das an-einer-
> anderen-Stelle-integriert-werden anzupassen, das haben wir mit UG auch
> noch vor uns. Diese Arbeit lohnt IMHO aber auf jeden Fall, denn es
> nützt auch alle anderen, die Albert/UG in den eigenen Programmen
> verwenden wollen. Ausserdem vertrete ich die "lieber gleich
> ordentlich"-Meinung :)
>
> Wie wäre es denn mit der folgenden Konstruktion in den Headern:
>
> #ifdef __cplusplus
> namespace Albert {
> #endif
>
> ...
>
> #ifdef __cplusplus
> }
> #endif
Gute Idee, geht aber mit der Standard C-lib von Albert nicht.
> Das hat natürlich den Nachteil, dass man dann die lib mit einem
> C++-Compiler bauen muss. Auf die eine oder andere Weise müssen wir
> aber sowieso dafür sorgen, dass die UG-Symbole von den Albert-Symbolen
> getrennt sind (ich nehme stark an, dass es in beiden System gleiche
> Namen gibt), da kommt mir das noch am einfachsten vor...
Und das ist genau der Punkt, wo dann die eigene lib ins Spiel kommt, da
man nämlich beim Übersetzen von Albert mit z.B. g++ noch einige
Änderungen vornehmen muss, damit er die sourcen überhaupt kompiliert,
weil z.B. manchmal type casts fehlen, was in C teilweise erlaubt ist.
Da auf der Albert Seite im Moment kein Interesse an einer C++ lib
besteht, müsste man dies eben selbst machen.
Also ich werde mal bei Albert anfragen, wie es mit einer C++ lib
aussieht und so weiter. Falls es die nicht gibt, bekommen wir ernsthafte
Probleme, denke ich, weil die Namesräume von Albert sich eben mit
anderen Sachen überschneiden können. Und bei einer Standard lib kann man
halt einfach nicht einen neuen Namensraum definieren. :-(
Ein anderes Problem ist, das ich die Sachen, die mit meiner
selbstgebauten lib laufen, mit der normalen lib nicht laufen und ich
langsam keine Lust mehrt habe, einem Problem nachzulaufen, was
eigentlich keines ist, je nachdem, wie man es betrachtet.
Wie würde ihr das denn mit UG machen? Da bräuchte man ja auch einen
neuen Namenraum.
Grüssle
Robert
--
Robert Klöfkorn <robertk at mathematik.uni-freiburg.de>
Mathematisches Institut Tel: +49 (0) 761 203 5642
Abt. für Angewandte Mathematik Fax: +49 (0) 761 203 5632
Universität Freiburg
Hermann-Herder-Str. 10
79104 Freiburg
http://www.mathematik.uni-freiburg.de/IAM/homepages/robertk
More information about the Dune
mailing list