C++プログラムを実行するときにコンソールを表示したくない 質問する

C++プログラムを実行するときにコンソールを表示したくない 質問する

1 つの C++ プログラムを書きたいのですが、.cpp をコンパイルしてリンクすると .exe ファイルが生成されます。それをダブルクリックして実行すると、コンソールが開いて閉じます。そのコンソールはまったく表示したくありません。助けてください。

ベストアンサー1

Windows プログラムがコンソール ウィンドウを生成するには、次の 2 つの方法があります。

  • プログラムはコンソール サブシステム exe としてリンクされており、これは関連するコンソール ウィンドウを常に提供するように Windows に要求するものです。

  • プログラムのコード自体がコンソール ウィンドウを作成します。

最初のオプションであるコンソール サブシステムが、最も可能性が高いです。

MinGW g++コンパイラでは、オプションを追加するだけです

-mwindows

Visual C++コンパイラでは、コマンドラインからコンパイルする場合は、オプションを追加します。

/link /subsystem:windows /entry:mainCRTStartup

もしあなたが〜ならVisual Studio を使用するmainCRTStartup、サブシステムを windows に変更し、リンカー オプションでエントリ ポイントを に変更します。

WinMainMicrosoft のコンパイラを使用すると、非標準のスタートアップ関数である関数を含むモジュールとリンクするだけで、C++ 標準に違反して通常の標準を呼び出す方が簡単になりますmain。これは、GUI サブシステム (サブシステム「windows」) では、たとえば g++ とは異なり、Microsoft のコンパイラはデフォルトで標準を認識しないためですmain。これは単に Microsoft のものです (おそらく、ベンダー ロックインとして始まったものです)。

おすすめ記事