Какие системные вызовы printf () использует inorder для записи данных на консоль в Windows? - PullRequest
0 голосов
/ 17 января 2019

Какие именно системные вызовы использует printf () для записи данных на консоль в Windows? И они находятся в ntdll.dll или kernel32.dll или в обоих или где-то еще?

Ответы [ 2 ]

0 голосов
/ 17 января 2019

Как ответил Здан, printf не пишет напрямую в консоль, а записывает в стандартный поток вывода с WriteFile Windows API, который, в свою очередь, вызывает NtWriteFile системный вызов. Затем выходные данные выбираются консольным хостом conhost.exe и отображаются на консоли Windows.

0 голосов
/ 17 января 2019

printf не записывает данные напрямую в консоль, а записывает данные в выходной поток.Это консольный хост (conhost.exe), который берет данные из выходного потока и записывает их в консоль.

Существует весь API для доступа кприставка.Например, функция WriteConsole.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...