[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