Я полагаю, что в конечном итоге будет использован WriteFile. Если вы скомпилируете простое hello world
:
#include <iostream>
int main(int argc, char **argv)
{
std::cout << "Hello" << std::endl;
return (0);
}
... а затем выполните dumpbin /imports hello.exe
, вы получите список внешних функций, которые он использует, вы обнаружите, что он импортирует как WriteFile
, так и WriteConsoleW
, но если память служит, последняя используется только для печати некоторых сообщений об ошибках стандартной библиотеки, а не для стандартного вывода.