プロが教える店舗&オフィスのセキュリティ対策術

質問タイトルが漠然としててごめんなさい。
特別なソフトを作る訳ではないのですが、暇プロレベルで最近やっと
苦労の末、.NET以前のVC++を理解できて、VC++ってMFC
を使う為の言語のだなーと思っている感じです。
C#は購入済みですが、まだ触ってません。VC++.NETは未購入
の状態です。

そこで質問なのですが、
 (1)WIN32アプリにはC#とVC++.NETどちらが適していますか?
 (2)VC++.NETはやはりMFC寄りの言語なのでしょうか?

インラインアセンブルとかもやりたいのですが、
 (3)VC++.NETではできますか?C#では?

C#は見た目がC言語でクラスも使えるのでVC++.NETとどう違う
のか良くわかりません。自分的にはC言語でなんでもやって行って、
C++はクラスが分かる程度で良しとしようと思っています。
詳しい方、漠然とした質問で申し訳ございませんが、ご教授お願いします。

A 回答 (1件)

「VC++.NET」と書かれていますが


「Visual C++.NET 2003」及び「Visual C++.NET 2002」の事でしょうか?
2005からは「Visual C++ 2005」という表記になり表記から「.NET」ははずれました。
それと.NET Frameworkという言葉をご存知でしょうか?
C#は.NET Frameworkを使ったアプリケーションを作る為の言語です。

(1)
Win32APIを使ってプログラムをするなら普通VC++を使います。
C#はWin32APIの代わりに.NET Frameworkを使います。

(2)
従来通りMFCが使えます。(MFCのバージョンも上がっています。)
それとは別にC++から.NET Frameworkを使える
C++/CLIといものも選択できます。(2003ではマネージドC++と呼ばれていました)
(.NET Frameworkを使ったソフトを動かすには.NET Frameworkのランタイムが必要になります。)

(3)
VC++はインラインアセンブラを使うことが可能です。
C#はそんなに詳しくないですが多分無理です。
その代わりunsafeコード(インラインCみたいなもの)が使えます。

>C#は見た目がC言語でクラスも使えるのでVC++.NETとどう違う
>のか良くわかりません。
C#とC/C++はまったく違う言語です。例えばC#は基本的にポインタはありません。クラスの多重継承もできません。
単純なステートメント(文構造)が同じなだけです。
それならC++とJavaもステートメントは似ているといえます。
    • good
    • 0
この回答へのお礼

丁寧なお答えありがとうございます。
いつの間にかVC++から.NETの文字がが消えてたんですね。
クラスの概念が分からず、クラスの概念の無い言語ばかりを動かして
楽しんでたので、その辺の流れから遠ざかってました。
「.NET Framework」は名前を知ってる程度で、ほとんどのの言語で
いざとなればAPIを使う私には、全体像が見えてませんでした。

(1)~(3)+αのお答え大変良く分かりました。

私、コードをガリガリ書いていくタイプで、ようやくVC++も
分かりかけて来たので、VC++を研究する決心が付きました。

余談、C#、ポインタあんまり関係ないのか~いいな~。

愚問にお答え頂いてありがとうございました。

お礼日時:2007/01/26 12:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!