Thread View: de.comp.lang.c++
1 messages
1 total messages
Started by Torsten Vogt
Mon, 04 Dec 1995 08:02
Re: Linken mit templates
Author: Torsten Vogt
Date: Mon, 04 Dec 1995 08:02
Date: Mon, 04 Dec 1995 08:02
38 lines
2326 bytes
2326 bytes
Martin Strasser fragte: > Mein Problem liegt im linken von template classen. > Und zwar befindet sich im Beispiel unten die darray.cpp und darry.hpp und main.cpp > in verschiedenen files. > Ohne verwendung von template laeuft alles. > Falls die deklaration und die definition und das Hauptprogramm alle in einem file vereint sind, > dann laeuft es auch. [...] Bei einer C++-Implementierung, die sich Stroustrup konform (vgl. Bjarne Stroustrup -- "Design und Entwicklung von C++") verhaelt, werden templates mit einer Art Prae- prozessor realisiert. D.h. zum Zeitpunkt des kompilierens wird ein Textersatz vorgenommen und der entsprechende Datentyp eingetragen. Zu diesem Zweck braucht der Compiler allerdings die kompletten Informationen ueber Definition der template-Funktionen und -Klassen. Du hast 2 Moeglichkeiten: (1) alles in eine Datei (so wie Du es gemacht hast) (2) template-Deklarationen und(!) template-Definitionen in eine(!) Include-Datei Es gibt wohl mittlerweile auch Compiler, die die template Geschichte anders loesen, so dass man auch linkbare Objektdateien erhaelt, in denen Templates implementiert sind. Das ist jedoch Compiler-abhaengig und nicht portabel. Torsten -- --------------------------------------------------------------------- | Torsten Vogt | | Universitaet Mannheim - Lehrstuhl Praktische Informatik I | | Seminargebaeude A5 | | D-68131 Mannheim | | | | Tel : 0049-621/292-5132 Fax: 0049-621/292-5297 | | email: vogt@pi1.informatik.uni-mannheim.de | | WWW : http://pi1.informatik.uni-mannheim.de/HomePages/vogt.html | ---------------------------------------------------------------------
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads