- ベストアンサー
C++ MFCについて
現在、開発言語を検討中です。 以前C# .NETで開発を行ったのですが、各PCに.NETのインストールが必要になり、手間がかかったので、C++ MFCで検討しています。 C++にはネイティブとマネジメントとあるのですが、 ネイティブ=MFC マネジメント=.NETという解釈で良いのでしょうか? MFCも一応はクラスを使うので、マネジメントに入るのでしょうか? この辺りの線引きが微妙で悩んでいます。 ネイティブの方が高速とあちらこちらに書いてあるのですが、.NETと比較すると何%くらい早いのでしょうか? ご存じの方がおられましたら、ご教授願いますm(__)m
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
アンマネージド(ネイティブ)なC++はクラスを利用できます。MFCはそのC++のクラスを使って実装されています。なので、ネイティブなC++でMFCは利用できます。 ただし、有料のVisualStudioでしか利用できません。 あとMFCをスタティックリンク(出来ればしないほうが良い)しない場合は、MFCライブラリのDLLのランタイム・インストールを必要とする場合があります。なので.NETだけがインストールが必要になると言うのは認識の間違いです。 マネージド(.NetFrameWork)を使うC++は正確にはC++/CLIと言う言語を使います。これはC++の上位互換言語ですね。 >ネイティブの方が高速とあちらこちらに書いてあるのですが、.NETと比較すると何%くらい早いのでしょうか? これは状況次第ですので何とも言えません。マネージドは特別遅くはないですし、アンマネージドとの混在も許されています。
お礼
アドバイスありがとうございます。 では、MFCでの構築は考えものですね。 .NETを使用する方が、資料も多く、楽なのですが、 高速という情報に惹かれて、MFCを検討材料に入れていました。 DLLのランタイムをインストールする必要があるのでしたら、手間は同じということになりますね。 ますます、悩みどころです。 新たにC++を使用するより、C#.NETの方が楽なのかもしれないです。 もう少し検討してみます。 ありがとうございました。