0

c/c++私は、コンソールで実行される単純なプログラムを作成するつもりです。Notepad ++でコードを書くので、IDEは必要ありません。私が必要としているのは、2000/XP/Vista/7インストールVC9/cygwin/MinGW/.Netやその他の追加のライブラリを必要とせずに、任意のシステムで実行されるスタンドアロンのEXEファイルを生成するコンパイラです。

私が理解している限り、GCCWindowsで実行cygwinされるので、それによって生成されたアプリもcygwin1.dll、その存在下で実行する必要がありますよね?

4

6 に答える 6

4

主なオプションはMSVCとmingwです。

  • Cコードを記述したい場合は、実際のCコンパイラを持たないMSVCを避け、C++コンパイラの偽のラッパーを使用してください。ああ、サポートされている方言はC89に近いです。
  • C ++を記述したい場合は、MSVCは問題なく、最新バージョンは非常に優れており、標準にかなり準拠しています。
  • 質問に従ってCとC++の両方を記述したい場合は、mingwがおそらく最適です。

mingwはGNUコンパイラのネイティブWindowsポートであり、cygwinを必要としないことに注意してください。mingwの32ビットバージョンはインストールが簡単です。64ビットの実行可能ファイルを作成する必要がある場合は、64ビットバージョンのmingwをインストールするのが少し手間がかかります。同様に、64ビットモードの無料のMSコンパイラが必要な場合は、インストールするためにいくつかの汚い作業を行う必要があります。

これらすべてのオプションを使用すると、ランタイムを静的にリンクして、ランタイムをターゲットマシンにデプロイする必要をなくすことができます。

于 2011-12-18T19:56:37.307 に答える
3

Visual Studio Expressをインストールすると(使用しない場合でも)、C++コードを構築するためのツールチェーンが提供されます。

ネイティブコードをターゲットにしている場合は、どのウィンドウでも実行できます。ただし、ウィンドウの実行を少し簡単にするために、WTLのようなものを検討することをお勧めします。

また、コメントによると、PlatformSDKは完全なコンパイラツールチェーンを提供します。SDKのもう1つの優れた点は、WindowsAPIのすべての側面に対応するサンプルコードがたくさんあることです。

于 2011-12-18T19:48:37.283 に答える
2

Mingw gccコンパイラは、Cランタイムにmsvcrtのみを使用するネイティブバイナリを生成します。だからそれはあなたの要件を満たします。Visual Studio Expressを利用できますが、アプリケーションで使用するバージョンのmsvcrtを出荷する必要があります。

于 2011-12-18T19:53:50.147 に答える
1

オープンワトコムC/C ++は最初は良いことかもしれませんが、私が理解している限り、C ++の機能は最新ではなく(特にSTLのようです)、C++11についても話していません。

于 2011-12-18T19:53:18.007 に答える
1

Visual C ++コンパイラ(Visual C ++ Express、Visual Studio、およびWindows SDKに含まれています)は、OS自体以外のサポートライブラリを必要としないバイナリを生成できます。静的リンクを使用します。ただし、最新バージョンはXPより前のWindowsバージョンをサポートしなくなりました(回避策はありますが、重要なアプリケーションにはクリーンでも推奨もされていません。回避策の最適な使用法は、前提条件をテストするインストーラープログラムを作成する場合です。クラッシュする代わりに意味のあるエラーメッセージを表示できます)。

MINGW gccコンパイラは、スタンドアロンのバイナリ(OSのみに依存)も生成できます。

于 2011-12-18T19:53:47.193 に答える
1

ネイティブのように感じるequation.comのMinGWラップバージョンのgccを使用しました。その単一のファイルをインストールして使用するだけです。

于 2011-12-18T20:11:36.870 に答える