This is the mail archive of the
mailing list for the Cygwin project.
Re: Announce: FlexDLL, flexible DLLs under Windows
- From: Robert Kiesling <kiesling at earthlink dot net>
- To: cygwin at cygwin dot com
- Date: Thu, 22 Nov 2007 04:15:50 -0500 (EST)
- Subject: Re: Announce: FlexDLL, flexible DLLs under Windows
> Christopher Faylor wrote:
> > > Not an unreasonable idea, but very hard to make work when we really want
> > >cygwin apps to basically be windows apps; I can't see how cygwin could support
> > >e.g. an ELF loader and yet still be able to launch cygwin apps from cmd.exe
> > >rather than having to fire up bash or whatever.
> > It could theoretically do that if it had it's own loader for ELF binaries.
> Yes, probably. But then you run into the situation where you're doing
> things behind the back of Windows, so to speak. The first thing that
> comes to mind is the prefetching that is present in XP and later, which
> reduces process startup time by recording the disk extents of all images
> involved in startup so that they can be loaded all at once sequentially
> the next time the process starts. The next thing is the memory
> manager, which I think treats DLLs differently than generic file
> mappings for the purpose of maintaining and trimming the working set.
> And I wonder if there are further things that would not be possible
> without specific kernel support -- unless maybe you had a real win32
> stub image for each exe/dll.
> Anyway, I don't mean to discourage anyone from trying this crazy idea,
> but just pointing out why staying with PE-compliant DLLs and EXEs under
> the hood has its advantages.
ISTM it would be easier to add event notifiers to the shell or the
app, although the implementation of that would almost certainly require
a code fork. And the memory management and the practice of loading Windows
apps with Unix is much better documented. AND although Cygwin is limited by
its use of static libraries in that regard, the task would not be impossible.
Just my 0.02.
Ctalk Home Page: http://ctalk-lang.sourceforge.net
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html