2014-04-28 189 views
0

我遇到了有关Windows CE平台的“控制台窗口”的问题。 为了简化问题,我编写了这个HelloWorld示例应用程序: 我写了这样的代码,编译,运行。 行为真的有线。 “双击应用程序”后,如果没有输入/输出,我看不到“控制台窗口”。 20秒后,我打印出“helloworld”,然后我可以看到控制台。 我调查了“printf()”,我可以看到这个API来自“corecrt.lib”,我看不到源代码。我不知道这是正常行为,或者我的应用程序有问题。Windows CE平台上的“控制台应用程序窗口”

请你给我任何建议。任何东西将不胜感激。

//----------------------------------------------- 
#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; 
} 

// ----------------------------------------- -----

回答

4

预计在WinCE的行为。

如果没有输入/输出需要,控制台将不会出现。 这意味着,应用程序将在双击时静默运行。

如果需要控制台窗口出现,你必须使用printf/scanf/getchar

1

在CE下,“windows”和“console”子系统没有区别。在桌面上,这些被赋予链接器,将其记录在可执行文件中,以便操作系统可以在必要时启动相应的控制台窗口。相反,它只是在第一次使用它时创建一个窗口。

作为一种解决方法,您可以输出一些虚拟内容(如换行符)以触发控制台窗口的创建。也许AllocConsole()(不知道名字)也可以工作,至少在桌面变体上它可以用来创建控制台窗口,即使是窗口程序。

相关问题