Musa.Runtime - Universal C++ RunTime Library
Musa.Runtime is a Microsoft MSVC runtime library adapted for Windows kernel-mode development. Built on Musa.Core, it carries forward the architecture pioneered by ucxxrt.
Core goal: Give kernel developers the same C++ experience that application developers enjoy.
Design highlight: Inspired by Docker's layered filesystem, Musa.Runtime uses an overlay mechanism to selectively replace files on top of the original MSVC SDK source — no fork, no independent copy to maintain. See Architecture for details.
NuGet (recommended):
<ItemGroup>
<PackageReference Include="Musa.Runtime">
<Version>0.5.1</Version>
</PackageReference>
</ItemGroup>Or right-click your project → Manage NuGet Packages → search Musa.Runtime → Install.
Manual import: Download from Releases and unzip:
<PropertyGroup>
<MusaRuntimeOnlyHeader>false</MusaRuntimeOnlyHeader>
</PropertyGroup>
<Import Project="..\Musa.Runtime\config\Musa.Runtime.Config.props" />
<Import Project="..\Musa.Runtime\config\Musa.Runtime.Config.targets" />
<!-- place above Microsoft.Cpp.targets -->Musa.Runtime provides its own DriverEntry (which handles CRT initialization). Your driver entry point must be renamed to DriverMain:
EXTERN_C NTSTATUS DriverMain(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath)
{
DriverObject->DriverUnload = [](auto obj) { MusaLOG("Unload."); };
// Your code here
return STATUS_SUCCESS;
}#include <vector>
#include <string>
#include "kext/kallocator.h"
void Example()
{
std::vector<std::string, kallocator<std::string>> vec;
vec.push_back("hello from kernel");
}
⚠️ kallocatordefaults toPagedPool. When used atDISPATCH_LEVELor above, specifyNonPagedPoolexplicitly.
| Feature | Status | Notes |
|---|---|---|
| x64 | ✅ | Primary platform |
| ARM64 | Experimental | |
| New / Delete | ✅ | Backed by ExAllocatePoolWithTag |
C++ Exception (/EHa, /EHsc) |
✅ | IRQL ≤ APC_LEVEL |
| Static Object Construction | ✅ | Runs at driver load time |
| SAFESEH / GS | ✅ | Buffer security check |
| STL (OneCore / CoreCRT) | ✅ | Full container / algorithm support |
thread_local |
❌ | Compiler-level limitation (fs/gs register access) |
| Document | Content |
|---|---|
| 📐 Architecture | Design philosophy (overlay pattern), component architecture, kernel-mode adaptations |
| 📝 Developer Guide | Installation, STL usage, exception handling, kallocator, troubleshooting |
| 🔧 Build System | Project structure, build process, version management, publish pipeline |
| 🔬 Overlay Diff Report | Per-file differential analysis of all overlay files |
> git clone --recurse-submodules https://github.com/MiroKaku/Musa.Runtime.git
> cd Musa.Runtime
> .\BuildAllTargets.cmdPrerequisites: Visual Studio 2026 (latest) + WDK