我遇到了关于"控制台窗口的问题" Windows CE平台。 为了简化问题,我编写了这个HelloWorld示例应用程序: 我写了这样的代码,构建,运行。 这种行为真的很有线。在"双击应用程序" ,如果没有输入/输出,我看不到"控制台窗口"。 20秒后,我打印了#helloworld"然后我可以看到控制台。 我调查了" printf()",我可以看到这个API来自" corecrt.lib"我看不到源代码。我不知道这是正常的行为,或者我的应用程序出了问题。
请你给我任何建议。任何事情都会受到赞赏。
//-----------------------------------------------
#include <windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
//After click...there is no window.
Sleep(20000);
//20 seconds later ,a window appears.
printf("HelloWorld!\n");
return 0;
}
// --------------------------------------------- -
答案 0 :(得分:4)
预期WinCE
中的行为。
如果不需要输入/输出,控制台将不会出现。 这意味着,应用程序将在双击时静默运行。
如果您需要显示控制台窗口,则必须使用printf
/ scanf
/ getchar
等。
答案 1 :(得分:1)
在CE下,“windows”和“console”子系统之间没有区别。在桌面上,这些内容被提供给链接器,链接器将其记录在可执行文件中,以便操作系统可以在必要时启动相应的控制台窗口。相反,它只是在您第一次使用它时创建一个窗口。
作为一种解决方法,您可以输出一些虚拟内容,如换行符,以触发控制台窗口创建。也许AllocConsole()
(不确定名称)也会起作用,至少在桌面版本上它可用于创建控制台窗口,甚至用于窗口程序。