dll v so?

Brian Dessent brian@dessent.net
Wed Dec 7 21:25:00 GMT 2005


Siegfried Heintze wrote:

> I'm confused about dll v. so and cygwin. I've used the documentation to
> create and load dlls with g++.
> 
> However, I notice that Apache Httpd uses ".so" files. Is the choice to
> produce ".dll" or ".so" files purely a matter of who is going to load them?

It's just the name of the file.  Regardless of the filename, they are
always going to be PE format, and as long as you are using LoadLibrary()
or dlopen() you can call your shared modules anything you want.  They
must be named .dll though if you use standard dynamic linking (as
opposed to runtime object loading, as apache does with modules) because
that is what the windows loader expects to see.

The real reason that apache uses .so (at least in the case of 1.3) is
that the build environment is too stupid to understand that they should
really be named .dll.  But again since these are modules loaded at
runtime and not standard libraries, the extension used doesn't matter.

Brian

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list