我想将std::cout
重定向到来自P/Invoke
的{{1}} dll。为此,我使用包裹在流中的命名管道通过C#
重定向。
出于某种奇怪的原因,这只能运作一次。第二次调用SetStdHandle
时,重定向似乎根本不起作用。那是为什么?
我知道耗尽流的后台线程中的生命周期问题,我将解决但不是导致此问题的根本原因。
Do1()
#pragma once
__declspec(dllexport) void __cdecl main();
#include <iostream>
void main() {
std::cout << "Test 1" << std::endl;
std::cout << std::flush;
}
非常感谢你的帮助!