g++ segmentation fault

Peter Ohlerich peter.ohlerich at uni-bielefeld.de
Thu Apr 27 08:52:00 CEST 2000


Uwe Schuerkamp wrote:
> ...
> Aus "man gcc":
> 
> -fwritable-strings
> 
> Store string constants in the writable data
> segment and don't uniquize them.  This is for compatibility
> with old programs which assume they can write into
> string constants.  -traditional' also has this ef­
> fect.
> 
> Writing into string constants is a very bad idea; "constants"
> should be constant.
> ...

Hallo Leute!

Auch wenn das jetzt ein wenig altklug klingt, aber es muß einfach 
mal raus. Das hier ist ein klassisches Beispiel, wie man mit 
kleinen Dingen große Wirkung erzielt. Es ist relativ einfach
zu sagen "ein Compiler-Flag setzen und es geht", aber das löst
im Ernstfall keine Probleme. Es ist besser sauber zu programmieren
und es eben nicht einem Flag zu überlassen. Solche Flags sind
leider ziemlich Compilerabhängig, manchmal sogar 
Compiler-Versions-Abhängig und im dümmsten Falle sogar noch 
plattform-spezifisch. Ich plage mich oft genug mit solchen Problemen
rum, wo dann halt im Makefile ein
$(CC) -c xyz.c 
Richtig nett wird es nämlich wenn man ein Programm auf mehr als einer
Plattform zum Laufen bringen muß. Der gcc ist auf Nicht-Intel-Kisten
oft nicht unbedingt die erste Wahl...

Wo wir gerade dabei sind (C++), einer der klassichen Fehler:
...
a=new char[5];
...
delete a; // FALSCH!!! wird aber meistens nicht angemeckert
          // und ist DER Fehler beim produzieren von Speicherlecks

delete a[]; //Richtig

Viel Spaß noch!

Peter.

-- 
----------------------------------------------------------------------
HRZ d. Universitaet Bielefeld  Phone: +49 521 106-4931 Fax: -2969
Dipl.-Inf. Peter Ohlerich      Email: peter.ohlerich at uni-bielefeld.de
P.O.Box 100131                   WWW: http://www.uni-bielefeld.de/hrz/
D-33501 Bielefeld (Germany)

-
Hinweise zur Benutzung dieser (und anderer Mailing-Listen) bitte beachten:
--> http://lug-owl.de/mailinglist_hints.html <--



More information about the Linux mailing list