> Kaya Memisoglu <k.memisoglu@xxxxxxxx> wrote:
>
> > I think there is another really important reason for the keyword
> > 'export' '_EXPORT'
> > or whatever. The keyword 'static' makes a symbol local within one
> > source file / object
> > file. Not within one dll. The other object files will know nothing
> > about a static function.
> > And this effect might not be the one you are seeking for. On the
> > other hand, the keyword
> > _EXPORT or whatever it is called will make a symbol public to the
> > outside of the whole dll.
> > You see the difference? 'static' is meant for local symbols within
> > one *object* file, whereas
> > '_EXPORT' is meant for global symbols of a *dll* file, which may
> > consist out of many object files.
>
> yep, i surely see the difference, but
>
> a) i also see the difference _export imposes on dynamic libraries vs.
> static libraries:
> a dll build of a given library would either export a different set of
> symbols or would not
> allow a static library build at all. and that most deffinitely is an
> effect _not_ sought for,
> as i want to be able to build dynamic or static _identical_ libraries
> on the expence of
> a single cc setting change.
You get extra symbols in a static lib. No other difference.
-Nathan
--
Fortune Cookie Says:
The computing field is always in need of new cliches.
-- Alan Perlis
--
Fortune Cookie Says:
"You've got to have a gimmick if your band sucks."
-- Gary Giddens