l i n u x - u s e r s - g r o u p - o f - d a v i s
L U G O D
 
Next Meeting:
September 15: Scratch: programming for children and other not-yet-programmers
Next Installfest:
TBD
Latest News:
Aug. 18: Discounts to "Velocity" in NY; come to tonight's "Photography" talk
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
'em.

-Micah

_______________________________________________
vox-tech mailing list
vox-tech@lists.lugod.org
http://lists.lugod.org/mailman/listinfo/vox-tech



LinkedIn
LUGOD Group on LinkedIn
Sign up for LUGOD event announcements
Your email address:
facebook
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:
Appahost Applications
For a significant contribution towards our projector, and a generous donation to allow us to continue meeting at the Davis Library.