huangqinjin/ucrt

C++

116

17 commits

updated May 20, 2024

See the code

README

Universal C Runtime

What the UCRT is

Visual C++ C Runtime (CRT) was shipped with and versioned by each releases of Visual Studio (2002, 2003, 2005, 2008, 2010, 2012, and 2013) before. Since Visual Studio 2015, the CRT has been split into two logical parts: The VCRuntime, which contained the compiler support functionality required for things like process startup and exception handling, and a "stable" part named Universal CRT, which can be considered as the Windows' equivalent of the GNU C Library (glibc) in the Linux world, that contained all of the purely library parts of the CRT including C99 and POSIX functionality and some extensions.

How the UCRT exsits

A C++ program built with Visual Studio 2015 or later will depend on the Universal CRT. The UCRT DLLs are named ucrtbase.dll (release) and ucrtbased.dll (debug); they do not include a version number and become components of Windows Operating System.

  • The UCRT is a part of Windows 10.
  • There are Windows Update MSU packages that distribute the UCRT for Windows Vista, 7 and 8.x.
  • On Windows XP, the VCRedist will deploy the UCRT itself.

Where the UCRT sources

A subset of UCRT sources has been released under the MIT license at nuget.org. Alternatively, they can be found at below locations:

  • Include: C:\Program Files (x86)\Windows Kits\10\Include\%Version%\ucrt.
  • Source: C:\Program Files (x86)\Windows Kits\10\Source\%Version%\ucrt.
  • Redist DLLs: C:\Program Files (x86)\Windows Kits\10\Redist\%Version%\ucrt\DLLs\%ARCH%.
  • Debug DLL: C:\Program Files (x86)\Windows Kits\10\bin\%Version%\%ARCH%\ucrt.

References

  1. Introducing the Universal CRT.
  2. Determining Which DLLs to Redistribute.
  3. Update for Universal C Runtime in Windows.
  4. https://github.com/microsoft/STL?tab=readme-ov-file#block-diagram
c
universal-crt
windows-10

huangqinjin/ucrt

C++

116

17 commits

updated May 20, 2024

See the code

README

Universal C Runtime

What the UCRT is

Visual C++ C Runtime (CRT) was shipped with and versioned by each releases of Visual Studio (2002, 2003, 2005, 2008, 2010, 2012, and 2013) before. Since Visual Studio 2015, the CRT has been split into two logical parts: The VCRuntime, which contained the compiler support functionality required for things like process startup and exception handling, and a "stable" part named Universal CRT, which can be considered as the Windows' equivalent of the GNU C Library (glibc) in the Linux world, that contained all of the purely library parts of the CRT including C99 and POSIX functionality and some extensions.

How the UCRT exsits

A C++ program built with Visual Studio 2015 or later will depend on the Universal CRT. The UCRT DLLs are named ucrtbase.dll (release) and ucrtbased.dll (debug); they do not include a version number and become components of Windows Operating System.

  • The UCRT is a part of Windows 10.
  • There are Windows Update MSU packages that distribute the UCRT for Windows Vista, 7 and 8.x.
  • On Windows XP, the VCRedist will deploy the UCRT itself.

Where the UCRT sources

A subset of UCRT sources has been released under the MIT license at nuget.org. Alternatively, they can be found at below locations:

  • Include: C:\Program Files (x86)\Windows Kits\10\Include\%Version%\ucrt.
  • Source: C:\Program Files (x86)\Windows Kits\10\Source\%Version%\ucrt.
  • Redist DLLs: C:\Program Files (x86)\Windows Kits\10\Redist\%Version%\ucrt\DLLs\%ARCH%.
  • Debug DLL: C:\Program Files (x86)\Windows Kits\10\bin\%Version%\%ARCH%\ucrt.

References

  1. Introducing the Universal CRT.
  2. Determining Which DLLs to Redistribute.
  3. Update for Universal C Runtime in Windows.
  4. https://github.com/microsoft/STL?tab=readme-ov-file#block-diagram
c
universal-crt
windows-10

Significant stargazers

Sokolov Yura

306 followers · starred Sep 2022

Ratin Gao

45 followers · starred Apr 2025

Schrodinger ZHU Yifan

358 followers · starred Nov 2024

Whindmar Saksit

7 followers · starred Jul 2025