[IronPython] Use of msvcr100 in msvcrt module

Dino Viehland dinov at microsoft.com
Sun Nov 14 19:51:41 CET 2010


Jeff wrote:
> In the 2.7 msvcrt module, msvcr100 is currently used as the p/invoke target
> (which is the VS2010 version of the MS Visual C Runtime). Was this chosen on
> purpose? I fear that it msvcrt100 probably isn't present on most systems
> (without installing the redistributable), while plain ol' msvcrt probably is.
> 
> The problem is that, officially speaking, msvcrt.dll is part of the OS and not to
> be used by third-party software. In reality, I don't think it's an issue, as it's
> unlikely that basic C functions are going to change any time soon.
> 
> So, do we toe the party line and put up with the redistribution hassle, or do
> we make the distribution easier but risk possible (but
> unlikely) breakage in the future?

My thought process here was that msvcr100 should always be on the system 
because .NET 4.0 is built w/ the VS2010 compilers.  It does appear that the CLR
is using "msvcr100_clr0400.dll" though so maybe that wasn't 100% correct.  

I think for the given P/Invoke that it doesn't matter as long as it's present - so
msvcrt might be fine.  But if we were to actually switch to using msvcr*'s 
file descriptors instead of our built-in table then it will really start to make a 
difference when interoperating w/ other native code also using a specific
msvcr.




More information about the Ironpython-users mailing list