🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: de.comp.lang.c++
6 messages
6 total messages Started by Benjamin Scholz Thu, 16 Nov 1995 23:31
C++ 4.5 compiliert zu lange!
#807
Author: Benjamin Scholz
Date: Thu, 16 Nov 1995 23:31
17 lines
1121 bytes
Neuling in C++ hat seine ersten Probleme mit BC45:

    Ein Programm, welches ich während eines 
Lehrgangs hatte, und nun zu Hause nochmals 
ausprobieren wollte, läßt mich beim Compilieren 
ca. 30 Minuten (!) warten, bis es fertig ist. Ich 
vermute, daß es an '#INCLUDE <owl\owlpch.h>'
liegt, da er viele Sachen aus OWL... compiliert. 
Dieses war bei dem Lehrgang nicht der Fall. An 
meinem Rechner kann es eigentlich nicht liegen, 
weil es der selbe Rechner ist, aber mit mehr RAM.
Vielleicht muß ich ja eine bestimmte 
Voreinstellung vornehmen wenn ich ein neues 
Projekt erstellen will. 
    Bin für jede Hilfe dankbar.

scholz@wolfsburg.netsurf.de
Re: C++ 4.5 compiliert zu lange!
#813
Author: Stefan Nickl
Date: Fri, 17 Nov 1995 10:11
20 lines
1711 bytes
Benjamin Scholz <scholz@wolfsburg.netsurf.de> wrote:
>    Ein Programm, welches ich während eines 
>Lehrgangs hatte, und nun zu Hause nochmals 
>ausprobieren wollte, läßt mich beim Compilieren 
>ca. 30 Minuten (!) warten, bis es fertig ist.

Ich kann mich hier nur auf BC4.02 beziehen, aber um die OWL wegzulassen muß man
nur bei der Erstellung eines Projektes den Schalter OWL abschalten
(#include<owl\xxxx> führt dann natürlich nur noch zu Fehlern und muß weg). Dann
ist man allerdings auf sich gestellt, sprich ohne Windows-Klassenbibliothek und
nur mit Windows API-Funktionen ausgerüstet (dazu #include<windows.h>). Die
extrem lange Kompilierzeit bei einem kurzen Lehrbespiel ist mir allerdings auch
mit OWL unerklärlich. Vielleicht solltest du auch schauen, ob die
vorkompilierten Header eingeschaltet sind (Optionen-Projekt irgendwo, "Erzeugen
und verwenden"), die können einiges an Geschwindigkeit bringen, brauchen aber
'ne Menge Speicher auf der Platte. Sonst fiele mir nur noch die automatische
Abhängigkeitsprüfung ein. Die sorgt dafür, daß nur die geänderten Dateien
übersetzt werden. Ich hoffe das hilft dir erstmal weiter.

SN
Re: C++ 4.5 compiliert zu lange!
#820
Author: Mathias Bruehne
Date: Fri, 17 Nov 1995 14:49
54 lines
2863 bytes
In article <48ghl3$44u@tpl-wob.wob.tpl.net>, Benjamin Scholz <scholz@wolfsburg.netsurf.de> says:
>
>Neuling in C++ hat seine ersten Probleme mit BC45:
>
>    Ein Programm, welches ich während eines 
>Lehrgangs hatte, und nun zu Hause nochmals 
>ausprobieren wollte, läßt mich beim Compilieren 
>ca. 30 Minuten (!) warten, bis es fertig ist. Ich 
>vermute, daß es an '#INCLUDE <owl\owlpch.h>'
>liegt, da er viele Sachen aus OWL... compiliert.

Mit dieser Vermutung liegst du schon ganz richtig. 
Wenn bei der Erstellung eines neuen Projekts die 
OWL-Unterstützung aktiviert wird, erzeugt die IDE
eine Definition für _OWLALLPCH 
(vgl. Optionen->Compiler->Definitionen). Diese
Definition sorgt dafür, daß durch das include der
owlpch.h alle OWL-Header-Dateien eingebunden werden.
Diese Methode hat den Vorteil, das man sich nicht
mehr um diese Header kümmern muß. Wenn du keine
oder nur sehr wenige OWL-Klassen benötigst, kannst 
du das #include aus deinen Dateien entfernen (oder
die Definition löschen). Für die von dir verwendeten
OWL-Klassen mußt du dann die jeweiligen Header-Dateien
einzeln includieren (Kann eine ziemlich üble Sucherei
werden).

Wenn du viele OWL-Klassen verwendest oder keine Lust
zum suchen der Header-Dateien hast, stellst du am 
besten die Verwendung von vorcompilierten Headern ein
(Optionen->Projekt->Compiler->Vorcompilierte Header->
<erzeugen und verwenden>). Dadurch wird eine Datei 
mit der Endung .csm erzeugt, auf die beim compilieren
zugegriffen wird; die einzelnen Header werden dann 
nicht jedesmal wieder eingelesen und compiliert. Du
solltest jedoch dann von Zeit zu Zeit einen Blick auf
die Größe dieser Datei werfen. Ich hatte in einem 
Projekt schon solche Dateien von einer Größe von über
70 (siebzig) MB (Dadurch wachsen die Zugriffszeiten
auf diese Datei natürlich an). 
Wenn die *.csm-Datei ständig wächst,
kannst du sie von Zeit zu Zeit einfach löschen. Sie 
wird beim nächsten Compilerlauf wieder angelegt (und
ist dann in der Regel erheblich kleiner).  

Gruß, Mathias

+-------------------------+-------------------------------+
| Mathias Bruehne         | Voice:   + 49 561 9899-786    |
| SBK Software+Systeme    | Fax:     + 49 561 85161       |
| Hollaendische Str. 141  |                               |
| 34127 Kassel            | E-mail:  mbr@sbk-ks.de        |
| Germany                 |                               |
+-------------------------+-------------------------------+
Re: C++ 4.5 compiliert zu lange!
#812
Author: Rene Bothe
Date: Fri, 17 Nov 1995 16:37
54 lines
2330 bytes
In article <48ghl3$44u@tpl-wob.wob.tpl.net>,
   Benjamin Scholz <scholz@wolfsburg.netsurf.de> wrote:
>Neuling in C++ hat seine ersten Probleme mit BC45:
>
>    Ein Programm, welches ich während eines 
>Lehrgangs hatte, und nun zu Hause nochmals 
>ausprobieren wollte, läßt mich beim Compilieren 
>ca. 30 Minuten (!) warten, bis es fertig ist. Ich 
>vermute, daß es an '#INCLUDE <owl\owlpch.h>'
>liegt, da er viele Sachen aus OWL... compiliert. 
Hallo Benjamin,

versuch es mal mit vorcompilierten Headerdateien.
Diese Einstellung ist naemlich standardmaessig ausgeschaltet.

Du findest die Einstellung im Menue der IDE unter 'Optionen/Projekt' im 
folgenden Dialog 'Projektoptionen' unter dem Punkt 'Compiler/Vorcompilierte 
Header'.

Die Headerdateien, die Du in Deinen Modulen einbindest, sollten moeglichst in 
allen Modulen die gleiche Reihenfolge haben. Es ist dann evtl. auch sinnvoll 
die Vorcompilierung nach einer bestimmten Headerdatei abzubrechen, z. B. nach 
der letzten Standardheaderdatei. BC4.5 erzeugt dann fuer alle Headerdateien, 
einschliesslich der angegebenen, einmalig eine vorcompilierte Headerdatei. 
Alle nachfolgenden Headerdateien werden bei jedem Compilerlauf neu compiliert.


Bsp.:

//Standardheader
#include <windows.h>
#include <owl\owlpch.h>

//eigene Header
#include <myheader.h>

Einstellung in Diesem Fall:
Abbruch der Vorcompilierung nach der Header-Datei: owl\owlpch.h

Die vorcompilierten Headerdateien koennen unter Umstaenden mehrere MB 
Plattenspeicher einnehmen. Davon hast Du ja hoffentlich genug.


viel Spass

Rene

______________________________________________________
Rene Bothe,
Gesellschaft für Systemtechnik und Softwareentwicklung
Bereich Verkehrssysteme (GSSE-VS)
Ackerstrasse 22, D-38126 Braunschweig (Germany)
Tel.: +49 531 226 3515, Fax.: +49 531 226 4879
E-Mail: bothe@gsse.sni.de
Re: C++ 4.5 compiliert zu lange!
#822
Author: Heiner Otterstedt
Date: Fri, 17 Nov 1995 17:07
35 lines
1867 bytes
Hi Benjamin,

du schreibst:

>     Ein Programm, welches ich während eines
> Lehrgangs hatte, und nun zu Hause nochmals
> ausprobieren wollte, läßt mich beim Compilieren
> ca. 30 Minuten (!) warten, bis es fertig ist. Ich
> vermute, daß es an '#INCLUDE <owl\owlpch.h>'
> liegt, da er viele Sachen aus OWL... compiliert.
> Dieses war bei dem Lehrgang nicht der Fall. An
> meinem Rechner kann es eigentlich nicht liegen,
> weil es der selbe Rechner ist, aber mit mehr RAM.
> Vielleicht muß ich ja eine bestimmte
> Voreinstellung vornehmen wenn ich ein neues
> Projekt erstellen will.

Ich vermute, du arbeitest mit 4 oder 8 MB RAM, denn nach dem
Aufruesten auf 16 MB gibt es solche Probleme eigendlich nicht
mehr. Ich habe auch die Erfahrung gemacht, dass fuer 32-Bit
Programme erheblich mehr Headerdateien gelesen werden muessen,
deshalb kann es nützlich sein, ein Programm waehrend der
Eintwicklungsphase erstmal fuer 16 Bit zu compilieren. (Ich
hoffe, du schreibst portierbaren Code :-)
Gerade bei OWL-Programmen sollte man unbedingt vorcompilierte
Header benutzen und rechtzeitig vor den eigenen Headerdateien
ein

#pragma hdrstop

einfuegen.

Ciao, Heiner

-------- Heiner Otterstedt, Hauptstrasse 2, 28870 Otterstedt --------
Re: C++ 4.5 compiliert zu lange!
#885
Author: Reinhard Pfau
Date: Mon, 27 Nov 1995 08:52
39 lines
2102 bytes
Benjamin Scholz (scholz@wolfsburg.netsurf.de) wrote:
: Neuling in C++ hat seine ersten Probleme mit BC45:

:     Ein Programm, welches ich wdhrend eines 
: Lehrgangs hatte, und nun zu Hause nochmals 
: ausprobieren wollte, ld_t mich beim Compilieren 
: ca. 30 Minuten (!) warten, bis es fertig ist. 
Du Gluecklicher, mein erstes Compilieren eines kleinen Testprogrammes
hat sich ueber 45min hingezogen.
: Ich 
: vermute, da_ es an '#INCLUDE <owl\owlpch.h>'
: liegt, da er viele Sachen aus OWL... compiliert. 
Yep. Liegt es. Dieser include bindet naemlich nicht _viele_ Sachen aus der
OWL ein, sondern die GESAMTE OWL.
Meine Loesung: bei den lokalen Optionen des Zielknotens den Define
'_OWLALLPCH' in '_OWLPCH' aendern. Dann werden nur Teile der OWL ein-
gebunden, die aber alles Grundlegende enthalten. Was man zusaetzlich
benoetigt (z.B.: TInputDialog), muss dann allerdings extra eingebunden
werden. 
Ausserdem kann man noch mit vorkompilierten Header arbeiten (-> RTFM).

: Dieses war bei dem Lehrgang nicht der Fall. An 
: meinem Rechner kann es eigentlich nicht liegen, 
: weil es der selbe Rechner ist, aber mit mehr RAM.
: Vielleicht mu_ ich ja eine bestimmte 
: Voreinstellung vornehmen wenn ich ein neues 
: Projekt erstellen will. 
s.o.
:     Bin f|r jede Hilfe dankbar.
Bitte ;)

: scholz@wolfsburg.netsurf.de

 Reinhard.
--
 /-- Reinhard Pfau --- (ED-Pfau) --------------------------------------------\
| eMail: gz342@appl2.hrz.uni-siegen.de  |  IRC: Mubo  | no home-page         |
+----------------------------------------------------------------------------+
| "M$: Those who replaced COMMAND.COM with WIN.COM and called it Win95!"     |
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