nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

Re: Loesungsansatz fuer Libaries?

Von: Erich Fruehstueck (ef@synthesis.co.at) [Profil]
Datum: 31.10.2007 07:03
Message-ID: <pan.2007.10.31.06.03.21@synthesis.co.at>
Newsgroup: de.comp.lang.c
Am Tue, 30 Oct 2007 21:36:01 +0100 schrieb Markus Wichmann:

> Rainer Weikusat schrieb:
>> Markus Wichmann <nullplan@gmx.net> writes:
>>> Roland Damm schrieb:
>>>> Kann eine Library nicht eigene 'globale' Variablen haben?
>>> Kommt auf die Art der Lib an. Da Libs außerhalb von C99 liegen,
gibt
>>> es hier ein paar Spezis. Also Windows-DLLs können globale
Variablen
>>> haben, statische Libraries auch, da es sich bei ihnen ja nur um in
>>> anderer Form aufbewahrte Codefragmente handelt, aber UNIX-SOs haben
>>> keinen eigenen Speicher, also auch keine eigenen globalen Variablen.
>>
>> <mode=Gebetsmuehle>
>> Der Begriff 'globale Variable' ist durch C nicht definiert. Er hat auch
>> keine einheitliche, uebliche Bedeutung. </>
>>
>>
> if exists("g:c_standards_fanatic")
>  %s|\<globale Variable\>|außerhalb jedes Bereiches definierte
Variable|g
> endif

Gerade das ist das Problem mit dem Begriff "globale Variable", er wird
gern so definiert. Im obigen Zusammenhang ist aber nicht relevant, ob
die Variable außerhalb eines Blocks definiert ist, sondern ob sie
external linkage besitzt und ob sie in einem shared memory Bereich
abgelegt wurde. Die letzte Eigenschaft (shared memory) verläßt den
Aussagenbereich des C-Standards.

Grüße
Erich

--
EFEU 3.1 is released!
Get the open source from http://efeu.cybertec.at.

[ Auf dieses Posting antworten ]

Antworten