我已经通过这个网站和其他网站上的帖子看得相当透彻,似乎大多数答案来自几年前。我正在寻找创建一个使用OpenGL功能的Win32 C ++应用程序。以前我通过将重要的C ++代码函数移植到Win32控制台应用程序来调试这些程序。此时,我需要能够在与GLUT窗口交互时通过输出调试到控制台窗口。所以,我正在寻找的是一种从Win32 main生成两个窗口的方法 - 一个持有GLUT功能(正常的Win32),一个持有控制台输出(不是Win32项目应用程序原生)。这甚至可能吗?如果没有,有人可以建议一个用于调试交互式GLUT程序的链接吗?
Matt S.
答案 0 :(得分:3)
您可以通过劫持父进程控制台或分配新控制台来将控制台添加到GUI程序中:
if (! AttachConsole(ATTACH_PARENT_PROCESS)) // try to hijack existing console of command line
AllocConsole(); // or create your own.
DWORD nw,nr; // demo with windows native console i/o
char buff[32];
WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE), L"Hello Matthew !", 15, &nw, NULL);
如果您没有预见控制台上的输入,这可以正常工作。
如果您更喜欢使用流输出而不是本机Windows控制台功能,那么您对此SO question
感兴趣