X-Spam-Check-By: sourceware.org Message-ID: <4397532F.73DF337E@dessent.net> Date: Wed, 07 Dec 2005 13:25:03 -0800 From: Brian Dessent MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: dll v so? References: <20726900 DOT 1133989427661 DOT JavaMail DOT SYSTEM AT CCC-NOVA1> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Reply-To: cygwin AT cygwin DOT com Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com 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/