0

私が理解している限り、入出力機能が必要なアプリケーションはKernel32.dllと通信する必要があり、Kernel32.dllはカーネル自体に要求を送信します。ただし、.NETでは、mscorlib.dllにあるコンソールクラスは、他のアプリケーションと同様に、カーネルと直接通信しません。mscorlib.dllはその要求をKernel32.dllに送信する必要がありますか、それとも.NETにはそれをバイパスするための特別な特権がありますか?

誰かがそれがどのように機能するかについて深い知識を持っていますか?

ありがとうございました。

4

2 に答える 2

1

.netそれ自体は、基盤となるシステムコールを呼び出すネイティブアプリケーションです。したがって、console.writelineを呼び出すと、writeconsoleの効果でラッパーを呼び出すことになります。

于 2011-07-24T03:15:59.053 に答える
1

すべての.NETライブラリは、ネイティブのWin32 APIを呼び出します。これには、3つの有名なライブラリ、、、、にあるものも含まれkernel32.dllます。これは、Windowsで物事を成し遂げるためのほとんど唯一の方法です。.NET Frameworkは、非常に徹底的なものではありますが、Windows上での単純なランタイム環境です。user32.dllgdi32.dll

によって提供される機能mscorlib.dllも例外ではありません。実際、にあるものを含め、ネイティブのWin32API関数を呼び出しますkernel32.dll

于 2011-07-24T04:49:22.443 に答える