l i n u x - u s e r s - g r o u p - o f - d a v i s
Next Meeting:
July 7: Social gathering
Next Installfest:
Latest News:
Jun. 14: June LUGOD meeting cancelled
Page last updated:
2002 Jul 29 19:35

The following is an archive of a post made to our 'vox-tech mailing list' by one of its subscribers.

Report this post as spam:

(Enter your email address)
Re: [vox-tech] behind the scenes of static
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [vox-tech] behind the scenes of static

Peter Jay Salzman writes:
 > > Declaring global variables and functions as "static" keeps the scope of
 > > the variable/function to the file.  I'm no compiler writer, but this could
 > > be done simply by compiling the file, then removing the static symbol
 > > names.  If that's how things are done, this would be a task done by the
 > > compiler, not the linker.
 > i see what your saying, but it just seems like a more suitable task for
 > the linker.  the process of (resolving or) removing symbol names after
 > compilation just seems like more in the realm of linking.

Yeah, but the linker has no way of knowing what was declared as
"extern" or "static" unless the compiler signals it. AFA GNU
implementations are concerned, both types of symbols actually make it
into the resulting ELF; but they are marked differently. This is
because the linker still needs to map references to the static objects
to some memory space (this is only necessary for dynamically loaded
objects, AFAIK); it will resolve internal links only when referred to
internally (duh), and will resolve external links for whoever wants


vox-tech mailing list

LUGOD Group on LinkedIn
Sign up for LUGOD event announcements
Your email address:
LUGOD Group on Facebook
'Like' LUGOD on Facebook:

Hosting provided by:
Sunset Systems
Sunset Systems offers preconfigured Linux systems, remote system administration and custom software development.

LUGOD: Linux Users' Group of Davis
PO Box 2082, Davis, CA 95617
Contact Us

LUGOD is a 501(c)7 non-profit organization
based in Davis, California
and serving the Sacramento area.
"Linux" is a trademark of Linus Torvalds.

Sponsored in part by:
Sunset Systems
Who graciously hosts our website & mailing lists!