Но в таком случае при чем здесь вызовы каких-то функций стандартных библиотек, если у нас есть готовые к исполнению команды?
string text = File.ReadAllText(@"c:\file.txt", Encoding.UTF8);
-- происходит тонна магии: вызывается код BCL, который вызывает ос, которая или вытаскивает файл из дискового кеша, или обращается к драйверу файловой системы, который обращается к драйверу контроллера интерфейса нжмд, который уже говорит непосредственно контроллеру интерфейса, что с такого то диска надо прочитать такие то логические сектора и сложить их в озу по такому-то адресу. я не нашел вразумительного ответа нигде, как же это работает на самом деле
тот же самый CIL вполне можно перевести в команды ОС, а они уже пойдут по цепочке дальше и в итоге где-то там наконец-то станут командами для процессора
call
и еще кучки push
(для передачи параметров через стек). А что там по факту вызывается, процессору -- фиолетово.как же это работает на самом деле
а буквенное представление команд впервые появляется на уровне ассемблера
if(n==0)
{}
else {}
разворачивается в связку из cmp
и je
(или jne
). CIL компилируется в команды, которые процессор выполняет непосредственно или он компилируется в очередную промежуточную форму?
Во многих более новых (по сравнению с Си) языках, таких как Java, C# и пр. работа с указателями вообще закрыта
В win10 есть встроенная поддержка контейнеров, без танцев с виртуалками.
Ставите docker for windows и работаете.
Либо давать юзеру инвайт-линк.