Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Date: Sat, 27 Oct 2001 20:57:47 -0400 (EDT) From: Charles Wilson X-X-Sender: cwilson AT medulla DOT ibb DOT gatech DOT edu To: Stephano Mariani cc: cygwin AT cygwin DOT com Subject: Re: Some dll questions In-Reply-To: <001301c15f3b$e3d46020$0100a8c0@sknet01> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Virus-Scanned: by amavisd-milter (http://amavis.org/) On Sun, 28 Oct 2001, Stephano Mariani wrote: > I managed to build functional dlls, but I still have a few questions... > > I am familiar with shared libraries on linux, and am wondering whether most > of the techniques still apply... specifically: > > 1) Can I use the dlfcn.h interface? AFAIK, the dlopen stuff works with cygwin. (That is, cygwin provides dlopen() functions that are just wrappers over the native windows LoadLibrary() functions). dlfcn.h should work, but I haven't tried it. If not, it's a bug. > 2) If so, does it behave any differently? If so, it's a bug. > 3) Also, does it work with the -mno-cygwin flag too? Probably not. cygwin1.dll provides those wrappers. If you want a native program, you'll need to use the Windows LoadLibrary() functions directly. (Also note that the DLL's you're loading must all be compiled with -mno-cygwin, as well as your program. Otherwise, you'll have part of your code depending on msvcrt.dll for runtime services, and part of your code depending on cygwin1.dll for runtime services. Badness will ensue.) --Chuck -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/