1

私の商業経験はすべて、.NET(VBおよびC#)などの高級言語に基づいています。私はCとC++(大学)で学業経験があります。

VisualC++が.NETの方法にどのように適合するかを完全には理解していません。Cygwinを使用してLinux用のc++プログラムをコンパイルした経験があります(大学で)。

Visual C ++がC#やVB.NETなどの中間言語にコンパイルされると言っているのは正しいですか?Visual C ++はWindowsのみをターゲットにしたい開発者によって使用され、Cygwinは複数の環境をターゲットにしたい開発者によって使用されていると思いますか?

私が尋ねる理由は、.NETアプリの一部としてC ++コンポーネント(別の開発者によって作成された)を使用しているためです。

今日、オンラインで多くのVisual C ++の記事を読みましたが、探している答えはまだ見つかりません。

4

2 に答える 2

3

いいえ。C++はマシンコードに直接コンパイルされます。実行時にマシンコードに変換するためのジャストインタイムコンパイラを備えた.NETのILのような中間ステップはありません。

C ++コードと.NETコードを相互運用する必要がある場合は、C ++/CLIを確認することをお勧めします。単にC++に似ているが、ネイティブC++と.NETランタイムの間のギャップを埋めるのに非常に優れている言語。

于 2012-10-07T18:44:33.957 に答える
2

Visual C ++がC#やVB.NETなどの中間言語にコンパイルされると言っているのは正しいですか?

はいといいえ。C ++ / CLI(Visual C ++に含まれているMicrosoft独自の言語であり、C ++言語に似ていますが、まったく同じではありません)を使用する場合は、はい、.NET中間コードにコンパイルされます。C ++ /CLIをオフにして標準のC++を使用すると、ネイティブコードにコンパイルされ、.NETランタイムは使用されません。

Cygwinは、複数の環境をターゲットにしたいC ++開発者によって使用されますか?

複数の環境をターゲットにする場合は、Cygwinは必要ありません。ただし、Cygwinでコンパイルする移植可能な方法で記述されたコードは、他のプラットフォームのGCCでもコンパイルされる可能性が高くなります。ポータブルコードはどのコンパイラでも記述できます。

Linux用のc++プログラムをコンパイルするCygwin

この点で少し混乱しているかもしれません。Cygwinは、 Windows用のGCCコンパイラ(およびPOSIXのような)環境を提供するパッケージです。CygwinはLinuxでは動作しません。必要はありません。

于 2012-10-07T18:43:14.970 に答える