メインの前に呼び出されていないのWinMain(C / C ++プログラムのエントリポイント発行)

StackOverflow https://stackoverflow.com/questions/2620031

  •  26-09-2019
  •  | 
  •  

質問

私はこのコード

という印象の下にありました
#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のでWindows 7を実行しているよ。

役に立ちましたか?

解決 3

ただ、この回避策とダムの感触のようなものを見つけます。

#define main USER_Main

このは、まだ何がユーザーからでめちゃめちゃたという事実を隠しながら、プログラムのエントリポイントであることのためのラインの主なアウトをとります。

他のヒント

あなたはmingwのを呼び出すコマンドラインで-mwindowsを配置する必要があります。 MinGWのとWindowsプログラミングに優しい導入などこののアウトを確認します。

また:あなたはおそらく、あなたがやりたいことができないので、あなたは、実行可能ファイルに2つのエントリポイントを持つことができません。

コンパイラは、Windowsのサブシステムまたはコンソール・サブシステムにコンパイル出力をターゲットにしているかどうかに基づいて、一つのエントリポイントまたはその他を選択します。後者は前者、WinMainためmain

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top