George Boutwell wrote:

> --- Francois Gouget <[EMAIL PROTECTED]> wrote:
> >    Yes and no. They need a C library (badly).
> >    Frankly I've never used 'crtdll.dll' and don't
> > know it very well. All
> > I know is that it seems very similar to a C library
> > except I'm not sure
> > who is supposed to use it. All the windows programs
> > I've worked on/know
> > of use the standard 'msvcrt.dll'. And all the 'C
> > library' headers in the
> > Windows directory are for 'msvcrt.dll'.
>
>   This is probably just for your information, but as I
> understand it.
>
> crtdll.dll only came with the very first version of
> Windows 95, all subsequent version of Win95 (A, B, C,
> OSR2, OSR2a, etc) either didn't have it at all, or had
> msvcrt.dll
>

Umm, negative.  CRTDLL is still included in Windows 98SE.  However I think
you may be right that it is not used by anything, but MSVCRT is used
instead.  According to MSDN, MSVC(++) 6 links against one of 6 C runtime
libraries.  The first two are release and debug versions of a
STATICLY LINKED LIBC(D).LIB which are not MT safe.  The next two are release
and debug versions of another staticly linked, but MT safe LIBCMT(D).LIB.
Finally, there are the MSVCRT(D).LIB import libraries for MSVCRT.DLL.  No
where does it mention CRTDLL.

See http://msdn.microsoft.com/library/periodic/period99/win320799.htm for
more details.

>
> Not sure what effect that has on how much
> support/non-support Wine/Winelib should have for
> crtdll.dll
>

AFAIK, CRTDLL is an older implementation that had bugs relating to
MT safeness (i.e. It was supposed to be safe but fell short in some cases).
IMHO implementing CRTDLL is not a very high priority, while implementing a
reliable C library (MSVCRT) is.  However, if it works out that the
MSVCRT implementation can be used to implement most or all of CRTDLL, then
I think that would be a reasonable thing to do.

I am going to go ahead and start implementing MSVCRT so it can be used by
winelib.

-Dave



Reply via email to