Article View: de.comp.lang.c++
Article #937Re: Linken mit templates
From: 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 | ---------------------------------------------------------------------
Technical Details
Message-ID:
<49u9u6$mon@trumpet.uni-mannheim.de>Path:
arc1-ca.pugleaf.net!news.uni-mannheim.de!pi1!vogtShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!news.uni-mannheim.de!pi1!vogt From: vogt@pi1.uni-mannheim.de (Torsten Vogt) Newsgroups: de.comp.lang.c++ Subject: Re: Linken mit templates Date: 4 Dec 1995 08:02:14 GMT Organization: Universitaet Mannheim Distribution: world Message-ID: <49u9u6$mon@trumpet.uni-mannheim.de> Reply-To: vogt@pi1.informatik.uni-mannheim.de NNTP-Posting-Host: pi1.informatik.uni-mannheim.de