This is the mail archive of the cygwin@sourceware.cygnus.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: Where can I get Cygwin 20.1b?


> > 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]