なぜこれが起こっているのか本当にわかりません... emacsでwin32アプリケーションを作成しました。それを作成して実行すると(コマンドプロンプトではなく)、コマンドプロンプトウィンドウがウィンドウの下にポップアップします。Code::Blocks で win32 アプリケーションをビルドし、そのデフォルト テンプレートを実行すると、コマンド プロンプト ウィンドウなしで実行されます。私は両方のコードを調べましたが、何が原因なのかわかりません...
そこにいくつかのprintf()ステートメントを含めたからだと思いましたが、そこにとどまりたくなかったので(デバッグ用でした)、マクロを書きました:
#define DEBUG
main.c、および
#ifdef DEBUG
#include<stdio.h>
#define DBG printf
#else
#define DBG
#endif
ヘッダーに(#define DEBUG
もちろんの後に含まれています)。
DEBUG を undef したとき、ウィンドウはまだ表示されました... それを実現するために何をしているのかわかりません。win32 アプリケーションでコマンド プロンプト ウィンドウが表示される原因は何ですか? などの代わりにすべての****Ex()
ウィンドウ機能を使用してみましCreateWindow()
たが、何も変わりませんでした。クラス定義と登録を確認して再確認しましたが、役に立たず、printf()ステートメントを忘れていないことを確認しました(stdio.h
DEBUGが定義されていない限り含まれていないため、忘れたとしてもエラーが発生する可能性があります) )。
これは私が含めたものです:
#include<windows.h>
#include<windowsx.h>
#include"main.h"
#include"windowproc.h"
誰がこれを引き起こす可能性があるか知っていますか? stdio、DBG、printf のジャンクをすべてコメントアウトしましたが、それでも表示されました。私のコードと Code::Blocks によって生成されたコードの間に違いはないと断言します。コードを分割します。
アップデート
MinGW 3.4.5 を使用しています。-mwindows スイッチを使用するとうまくいきました、ありがとう