From: Frederick Cheung Date: 2008-01-03T03:10:11+09:00 Subject: Re: Windows Compilation Madness On 2 Jan 2008, at 17:46, s.ross wrote: > On Jan 2, 2008, at 9:02 AM, Gary Wright wrote: > >> Unlink Linux (and *BSD, Mac OS X...), Windows does not come >> packaged with a development environment and in fact there are >> multiple mutually-incompatible development environments (Cygwin, >> MinGW, VC6, VC8). For the most part you can not mix-and-match >> object code (dlls) created by these different environments with the >> biggest problem being that there is no common memory allocation >> library. > > Confirmed that Windows does not come with a dev environment. But > neither do *nix. They rely on your text editor of choice and gcc > (usually). IIRC, there are command-line tools that come with > the .Net framework if you know how to use them. csc.exe is the c# > compiler, although, IIRC, that compiles to the CLR. > >> I assume this is why some Windows software comes distributed with >> its own collection of 'standard' dlls compiled in the same >> development environment as the underlying application. > > No. Most software comes with DLLs because they load lazily, > providing the perception of quicker application startup. Also, DLLs > can be upgraded without a reinstallation of the entire application > and shared among other applications on the system. For example, > MSXML and MSHTML are packaged as DLLs and can be readily used by > anyone who wants them. Fair enough for dlls in general, but loads of windows app ship with their own copy of the c runtime dll and things like that, which is what I think Gary was talking about (and then you're not sharing dlls at all). Fred