.Net mscorlib.dll и kernel32.dll
Вопрос
Насколько я понимаю, приложения, которые хотят, чтобы функциональные возможности ввода/вывода должны говорить с kernel32.dll, который, в свою очередь, отправляет запрос на само ядро. В .net, однако, класс консоли, расположенный в mscorlib.dll, как и любое другое приложение, не разговаривает с ядром, не общается, верно? Должен ли mscorlib.dll отправлять свой запрос на kernel32.dll или .net имеет особую привилегию для обойти его?
У кого -нибудь есть знания в отделе о том, как это работает?
Спасибо.
Решение
Все библиотеки .NET призывают к нативным API Win32, в том числе в трех известных библиотеках, kernel32.dll
, user32.dll
, а также gdi32.dll
, чтобы заставить вещи происходить. Это в значительной степени единственный способ сделать вещи на Windows. Framework .NET-это просто среда времени выполнения в верхней части Windows, хотя и очень тщательный.
Функциональность, предоставленная mscorlib.dll
здесь нет исключения. Это действительно вызывает нативные функции API Win32, в том числе те, которые найдены в kernel32.dll
.
Другие советы
.net It Self - это собственное приложение, которое вызывает базовые системы системных вызовов. Поэтому, когда вы звоните Console.Writeline, вы называете обертку WriteConsole.