据我了解,需要输入/输出功能的应用程序必须与 Kernel32.dll 对话,后者又将请求发送到内核本身。然而,在 .NET 中,位于 mscorlib.dll 中的控制台类与任何其他应用程序一样,并不直接与内核对话,对吗?mscorlib.dll 是否必须将其请求发送到 Kernel32.dll 或者 .NET 是否具有绕过它的特殊特权?
有没有人对它的工作原理有深入的了解?
谢谢你。
.net 它本身是一个调用底层系统调用的本机应用程序。因此,当您调用 console.writeline 时,您正在调用一个具有writeconsole效果的包装器。
所有 .NET 库都调用本机 Win32 API,包括在三个著名库中找到的那些kernel32.dll
,user32.dll
、 和gdi32.dll
, 以使事情发生。这几乎是在 Windows 上完成任务的唯一方法。.NET Framework 是 Windows 之上的一个简单的运行时环境,尽管它是一个非常彻底的环境。
提供的功能mscorlib.dll
在这里也不例外。它确实调用了本机 Win32 API 函数,包括kernel32.dll
.