๐Ÿš€ go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #923

Re: Kommandozeilenargumente bevor main()

#923
From: Boris Lohner
Date: Fri, 01 Dec 1995 04:12
49 lines
2497 bytes
 -=> Quoting Ullrich von Bassewitz to Boris Lohner <=-

 UvB> From: uz@wuschel.ibb.schwaben.com (Ullrich von Bassewitz)

 UvB> Boris Lohner (boris@raybbs.camelot.de) wrote:
 > Die Frage ist also:
 > Wie komm ich auf portable Weise noch vor dem Eintritt in main(...) an die
 > Kommandozeilenargumente heran?

 UvB> รœberhaupt nicht.

Das ist sehr schade. :-( 

 UvB> Das Problem liegt in Deinem Falle darin, daรŸ Du mit Deinen globalen
 UvB> Objekten nicht vorsichtig gewesen bist, bzw. diese falsch nutzt. Der
 UvB> Satz 
 > Das Objekt erst in main(...) zu initialisieren ist unguenstig, da mehrere
 > andere ebenfalls globale Objekte bereits vor main(...) Gebrauch von diesem
 > bestimmten Objekt machen.

Das ist aber nicht *das* Problem sondern ein anderes, das ich zumindest
momentan fuer mich geloest habe (bei emx gcc 2.7.0 unter OS/2 kann ich die
Initialisierungsreihenfolge durch die Reihenfolge ind er ich die Objectfiles
beim Linkeraufruf uebergebe beeinflussen. Ich hoffe, man koennte anderen
Compilern/Linkern aehnlich gut zu reden...)

Wie dem auch sei, ich glaube mittlerweile eine Loesung fuer beide Probleme
gefunden zu haben, die ich aber zuerst an einem groeseren Projekt
ausprobieren werde; wenn sie sich bewaehrt hat (auf zwei Compilern :-) und
Interesse besteht, kann ich gerne darueber berichten. Soviel schonmal vorab:
Im wesentlichen will ich die "globalen" Objekte als statische Variablen in
globalen Funktionen kapseln, und zwar so, dass sie erst
(oder - hofentlich - schon) initialisiert werden, wenn sie benoetigt werden.

Wer waere an meinem (hoffentlich Erfolgs- aber moeglicherweise auch
Miserfolgs-) Ergebnis interessiert?


[...Erklaerung der Probleme bei globalen Variablen...]

Ist mir bewusst (seit ich eine leere Flagliste vor mir sah, weil die Flags
sich in die Liste eintrugen bevor sie existierte :) und ich bruete gerade
an einer schoenen Loesung... (s.o.)

Auf jeden Fall Danke fuer die Antwort,
Boris


... Please send no mail >16k  
Technical Details
Message-ID: <ftn_2.2480.843.0_30be2114_Boris.Lohner@camelot.de>
Path: arc1-ca.pugleaf.net!raybbs.camelot.de!boris

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!raybbs.camelot.de!boris
From: boris@raybbs.camelot.de (Boris Lohner)
Newsgroups: de.comp.lang.c++
Subject: Re: Kommandozeilenargumente bevor main()
Message-ID: <ftn_2.2480.843.0_30be2114_Boris.Lohner@camelot.de>
Date: Fri, 01 Dec 95 06:12:00 +0200
Sender: news@camelot.de
Reply-To: boris@raybbs.camelot.de
X-Newsreader:  Blue Wave/Max v2.12 OS/2 [NR]
X-Mailer: uugate 0.35 (OS/2 2.30) (Fidonet Gateway)
Organization:  RAY-BBS Internet<->Fidonet Gateway