Re: strcat unter FreeBSD

From: Christian Weisgerber <naddy(at)mips.rhein-neckar.de>
Date: 29 Jul 1999 01:15:26 +0200

Klaus Herrmann <Klaus.Herrmann(at)gmx.net> wrote:

> > char *s = "Hello";
> >
> > Das ist eine Stringkonstante.
> warum? das ist doch ein pointer to char, kein const char*? Ich denke,
> den müsste ich schreiben können.

K&R v2, A2.6 String Literals:

"Whether identical string literals are distinct is implementation-
 defined, and the behavior of a program that attempts to alter a string
 literal is undefined."

Irgendwie kann ich gerade weder die englische noch die deutsche
C-FAQ finden (sind die aus dem Usenet verschwunden?), aber ich
erinnere mich deutlich, dass das dort auch breitgetreten wird.

> > Die koennte der Compiler im Textsegment ablegen, wenn er wollte -
> > und das ist Read-Only.
> hmm, merkwürdig, davon hab ich noch in keinem buch was gesehen.

Da, wo du herkommst, mag das anders sein, aber in der Unix-Welt
ist es so.

(Ich habe gerade mal ein Hello-World compiliert und mit objdump
das ELF-Executable angeschaut. Das Stringliteral landet in einem
Segment namens ".rodata".)

-- 
Christian "naddy" Weisgerber                  naddy(at)mips.rhein-neckar.de
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Thu 29 Jul 1999 - 02:34:15 CEST

search this site