我真的不知道这是为什么发生...我创建了一个win32应用emacs,并且每当我让和运行(没有通过示命令),命令提示窗口的弹出窗下。如果我建立一个win32应用程序的代码::块,只是运行,其默认的模板,然后它没有命令提示窗口。我看了所有通过代码并不能找出什么可能会导致这个...

我还以为是因为我包含一些printf()发言,但我不想让他们呆在那里(他们是进行调试),使我写了一个宏:

#define DEBUG

在主要的。c,

#ifdef DEBUG
#include<stdio.h>
#define DBG printf
#else
#define DBG
#endif

在一个标题(包括后 #define DEBUG 当然)。

当我民主基金会调试,窗口仍然出现了...我不知道我在做什么让它发生,什么样的事情导致命令提示窗口,以显示在一个win32应用程序?我试图使用所有的 ****Ex() windows职能,而不只是 CreateWindow(), 等等,但这并没有改变任何东西。我检查和重新检查流的定义和登记,也没有用,并确保我没有忘记printf()发言(这将造成错误,甚至如果我这样做,因为 stdio.h 不包括调试,除非是定义)。

这是我的包括:

#include<windows.h>
#include<windowsx.h>
#include"main.h"
#include"windowproc.h"

任何人都知道什么可以引起这?我甚至说出我所有的stdio,文件,printf垃圾,它仍然出现了,我发誓没有什么区别之间,我的代码和代码::块产生的代码,除了我的使用HANDLE_MSG和一些额外的功能分立的代码。

更新

我使用MinGW3.4.5.使用-mwindows换工作了,谢谢

有帮助吗?

解决方案

尝试连接的-mwindows开关。

你的计划也应具有的主要方法读取是这样的:

int WINAPI WinMain(
....
)

相对于传统的int主().

有关的主题:

其他提示

视窗使“控制台”和“窗口”的应用程序之间的差。控制台应用程序将始终与相关联的终端上运行。

请参阅这个问题以上的差异的信息。

不知道你用的是什么编译器,但我知道GCC需要-mwindows选项禁止命令行窗口。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top