I'm teaching myself Rust by following the excellent online Rust book, and very early when running the Hello World sample I wondered what runtime dependencies such a thing might have.
Not a lot, it turns out!
> c:\Debuggers\cdb.exe main.exe
...
ModLoad: 00007ff7`78aa0000 00007ff7`78ac7000 main.exe
ModLoad: 00007fff`7f4c0000 00007fff`7f6b0000 ntdll.dll
ModLoad: 00007fff`7efc0000 00007fff`7f072000 C:\windows\System32\KERNEL32.DLL
ModLoad: 00007fff`7ce10000 00007fff`7d0b6000 C:\windows\System32\KERNELBASE.dll
ModLoad: 00007fff`7f410000 00007fff`7f47f000 C:\windows\System32\WS2_32.dll
ModLoad: 00007fff`7ee40000 00007fff`7ef5f000 C:\windows\System32\RPCRT4.dll
ModLoad: 00007fff`7d460000 00007fff`7d55a000 C:\windows\System32\ucrtbase.dll
ModLoad: 00007fff`61590000 00007fff`615ab000 C:\windows\SYSTEM32\VCRUNTIME140.dll
(83a4.50ec): Break instruction exception - code 80000003 (first chance)
ntdll!LdrpDoDebuggerBreak+0x30:
00007fff`7f59108c cc int 3
0:000> g
Hello, world!
ModLoad: 00007fff`7c3c0000 00007fff`7c3d1000 C:\windows\System32\kernel.appcore.dll
ModLoad: 00007fff`7d750000 00007fff`7d7ee000 C:\windows\System32\msvcrt.dll
ntdll!ZwTerminateProcess+0x14:
00007fff`7f55d424 c3 ret
So basically ntdll/kernel, winsock, RPC (that gets pulled in by a zillion things) and the Universal CRT / VC++ runtime.
Happy dependency spelunking!
Tags: rust