This is the mail archive of the
cygwin@sourceware.cygnus.com
mailing list for the Cygwin project.
RE: Where can I get Cygwin 20.1b?
- To: 'Carl Thompson' <cet at carlthompson dot net>, Michael Nelson <mikenel at iapetus dot com>
- Subject: RE: Where can I get Cygwin 20.1b?
- From: Michael Nelson <mikenel at iapetus dot com>
- Date: Thu, 15 Jun 2000 19:55:33 -0400
- Cc: Cygwin List <cygwin at sourceware dot cygnus dot com>
> > Use of dllimport is unnecessary, just link with the import lib.
>
> Really? Is that true of _all_ Windows compilers?
GCC and VC at least, those are the only two Win32 compilers I've used to a
significant extent.
> Just your externally visible symbols are exposed, not the
> "guts" . They are
> all exposed and accessible under Windows too, regardless of what you
> export! Don't be fooled into thinking that just because you
> don't put it in
> your export list that it is not exposed. LoadLibrary() and
> GetProcAddress()
> work just fine regardless of whether or not the symbol was
> exported to an
> import library!
> So I hope your company doesn't rely on its
> DLLs "guts" not
> being exposed simply because you don't put an entry in your
> .def file...
With VC, if it isn't in a .DEF file or dllexport'd, it isn't accessible via
GPA().
I just double checked all of this, and it seems GCC is a bit more tricky. If
you have 0 symbols marked with dllexport all public symbols get exported. If
you have >0 symbols marked with dllexport, only they get exported.
I think this is where the mixup is.
What I miss on UNIX is the latter feature, the ability it to only export
exactly these symbols.
-mike
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com