From ReactOS Wiki
Revision as of 07:05, 18 March 2012 by BrentNewland (talk | contribs)
Jump to: navigation, search

Msvcrt.dll is the Microsoft Visual C++ Run-Time for Visual C++ version 4.2 to 6.0. It provides programs compiled with these versions of Visual C++ a typical set of library functions required by C and C++ programs. These include string manipulation, memory allocation, C-style input/output calls, etc.

It has also shipped with Windows versions since Windows 2000 for use by other Windows components. In older versions of Windows, programs which linked against Msvcrt.dll were expected to install a compatible copy in the System32 folder, but this contributed to DLL Hell.

Versions of Visual C++ before 4.0 and since 7.0 have used differently named DLLs for each version (msvcr20.dll, msvcr70.dll, msvcr71.dll, etc.). Applications are required to install the appropriate version.


  • Added many functions to msvcrt library







  • Made some flags for the flag value from the FILE structure compatible with the mingw headers (Hartmut Birr)
  • Use _IO_LBF instead of _IOLBF, because _IOSTRG and _IOLBF has the same value (Hartmut Birr)
  • Fixed _chmod and _wchmod (Hartmut Birr)
  • Don't change the environment block if the number of variables has not changed (in BlockEnvToEnviron) (Hartmut Birr)
  • Use a copy of the environment strings (in BlockEnvToEnviron) (Hartmut Birr)


  • Fixed some pointer increments/decrements. (Hartmut Birr)
  • Fixed some 'dereferencing type-punned pointer will break strict-aliasing rules' warnings on higher optimisation levels. (Hartmut Birr)
  • Enabled the declaration of DbgPrint because they is used in DPRINT and CHECKPOINT macros. (Hartmut Birr)



  • Everything moved into crt.lib


  • Fix C++ exception handling (Gé van Geldorp)
  • Implemented wgetmainargs. Fixed the allocating of argv if a empty cmd line is given. Fixed the allocating of pgmptr. (Hartmut Birr)