> 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