Re: kpovmodler in kdegraphics error

Daveed Vandevoorde <[email protected]>
Newsgroups gmane.comp.kde.devel.kpovmodeler
Message-ID <[email protected]>
> On Thursday 30 January 2003 09:54, Sylvain Joyeux wrote:
>>> Const char* const means that the characters are constant and the 
>>> pointer
>>> is constant (the second const).
>>
>> I meant: why the symbols are no more made public by the compiler ?
>
> Maybe because it is a real constant? const char* can be modified, so 
> it is a
> variable. It doesn't make sense to export constants.

In C++ const declarations have internal linkage by default.
So,
	X const x;
is essentially equivalent to
	static X const x;

You can override this default linkage using the "extern" keyword:
	extern X const x;
(where X could be "char const*").

Your guess as to the motivation is essentially correct:
If a variable has internal linkage, it is easy to determine
it has not been address-exposed, and as a result not to
allocate static storage for it.  With external linkage,
you'd need to do some sort of whole-program analysis.

	Daveed


List archive and information: http://mail.kde.org/mailman/listinfo/kpovmodeler-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.