0

私はこのコードが

#include <windows.h>

#include <stdio.h>

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
    printf("WinMain\n");

    return 0;
}

int main()
{
    printf("main\n");

    return 0;
}

WinMainを出力しますが、もちろん、期待どおりに機能するものはありません。

とにかく、誰かがこのプログラムを最初にWinMainを実行する方法を教えてもらえますか(私には両方を使用する理由があります)。それが何か助けになるなら、私はmingwでWindows7を実行しています。

4

3 に答える 3

5

-mwindowsMinGw を呼び出すときは、コマンド ラインに配置する必要があります。MinGW を使用した Windows プログラミングの簡単な紹介として、これを確認してください。

また、実行可能ファイルに 2 つのエントリ ポイントを含めることはできないため、やりたいことを実行できない可能性があります。

于 2010-04-12T05:26:46.383 に答える
4

コンパイラは、コンパイル済みの出力を Windows サブシステムまたはコンソール サブシステムのどちらにターゲットとしているかに基づいて、いずれかのエントリ ポイントを選択します。WinMain前者main用、後者用。

于 2010-04-12T05:41:47.743 に答える
1

この回避策を見つけたばかりで、ちょっとばかげているように感じます。

#define main USER_Main

これにより、main がプログラムのエントリ ポイントであるという理由から外れますが、何かが台無しにされたという事実はユーザーから隠されます。

于 2010-04-21T07:21:00.723 に答える