2012-02-20 8 views
3

私はVisual Studioと.NETの関係を理解し​​ていません。私はC++アプリケーションを作成したいが、 ".NET C++"アプリケーションは作成しない。これにより、.NET土地に構築されたすべてのものがCLI互換の中間コード(JavaやGroovyのような "JVM"言語と同じバイトコードにコンパイルされたもの)にコンパイルされるということを私が理解しているということです。Visual StudioのネイティブC++プログラム

しかし私は自分のアプリケーションを中間バイトコードにコンパイルしたくないのです...私は生のバイナリにコンパイルして欲しいです!

Visual Studioはこれを行いますか?または.NETが私のC++ IDEとしてVSを選択すると、私の喉の下を強制的に強制されますか?もしそうなら、VSの代わりに "生のC++"とは何ですか?

ありがとうございます!

+0

MSILのバイトコードは、*ネイティブ実行可能ファイル*にあるマシンコードと同様に「生のバイナリ」です。 –

+1

技術的には、ストレージデバイスはバイナリを格納しません。彼らは電気を蓄える。したがって、技術的には、生のバイナリ信号は、3〜5V信号だけではありません。 – IAmYourFaja

+0

どちらの方法でも、 "生のバイナリ"はあいまいな用語ですが、 "バイトコード"、 "マシンコード"、 "ネイティブの実行可能ファイル"は曖昧です。曖昧さのない用語を使用すると、通常はより良い回答が得られます:-) –

答えて

4

Visual Studioは、特定の言語またはコンパイラと直交するIDEです。

Visual C++は、C、C++、およびC++/CLI言語をサポートするコンパイラです。

Visual Studioでは、 'Win32'( 'CLR'とは対照的に)プロジェクトテンプレートの1つからVisual C++プロジェクトを作成すると、プログラムに.NET依存性がなくなります。

3

C++アプリケーションをコンパイルするときに/ clrコンパイラスイッチがあります。それがなければ、あなたは純粋なネイティブバイナリを手に入れ、それを使うことはできません。あなたのコード内のNET固有の機能。

プロジェクトテンプレートを選択するか、対応するプロジェクトプロパティを設定することにより、VSはスイッチがオンかオフかを自動的に選択します。

+0

この回答は定評があります。 – user492238

2

Visual Studioでは、管理対象アプリケーションとしてそのまま100%ネイティブC++アプリケーションをサポートしています。新しいアプリケーションを作成する場合は、「Win32コンソールアプリケーション」を選択してネイティブアプリケーションを作成します。あなたが変更することができ、既存のアプリケーションのために/プロジェクトを右クリックして選択し、次の

  • を行うことによって確認し、「プロパティ」構成プロパティへ
  • 移動 - > C/C++
  • は、「共通言語ランタイムていることを確認してくださいサポートは「共通言語ランタイムサポートなし」に設定されています
関連する問題