• ベストアンサー

C#とVC++.NETとVB.NET

C#とVC++.NETとVB.NETは同じ.NETFrameWorkライブラリを使用するようですが、どれも同じ機能が使える(制御できる制限に差が無い)と考えてよろしいでしょうか?もしそうであればVS6のMFCでできるものはC#でも可能ということになると思います。また、Win32で最大限のパフォーマンスを引き出すやり方は変わってはいませんでしょうか?(やはりWin32のメンテナンスしにくいコードをいじるしかない?) VS6だとVB6<MFC<Win32という難易度、制御できる数、メンテナンスというイメージがあったのですが・・・。 ご存知の方、宜しくお願いします。

noname#46712
noname#46712

質問者が選んだベストアンサー

  • ベストアンサー
  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.1

>VS6のMFCでできるものはC#でも可能ということになると思います VC++.netは.NETFrameWorkを使用しない開発が可能ですしVC++.netのMFCも.NETFrameWorkは使用していません。 C#でたいていの事は可能ですが、 作ったものをFrameWorkがインストールされていない環境で実行させる 事は不可能ですし ネイティブコードに比べれば速度は落ちます。 またCPU固有の命令を使ったり、ドライバの開発など 低レベル層の開発はFrameWorkでは無理です。

関連するQ&A

  • C#とVC++.NETについて教えて下さい。

    質問タイトルが漠然としててごめんなさい。 特別なソフトを作る訳ではないのですが、暇プロレベルで最近やっと 苦労の末、.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++はクラスが分かる程度で良しとしようと思っています。 詳しい方、漠然とした質問で申し訳ございませんが、ご教授お願いします。

  • C++/CLIについて

    現在C、C++を1部、WIN32を習得しているのですが、ウィンドウアプリケーションを作るときは全てWIN32APIを使用して作っています データベースを使ってみようと思い、VS2005(Pro)についていたSQLEEを使ってみようと色々と調べたんですが、ほとんどの書籍やサイトがVBかC#を使用していました しかし、VBやC#でプログラムを書き直すのも大変なのでどうしようかと思っていたらC++/CLIなるものの存在を知りました そこでC++/CLIの勉強をしてDBを使おうと思ったのですが、何分習得言語以外の知識が足りないため不安なところを質問させてください 以下質問 1、VB、C#、C++/CLIとC+WIN32の大きな違いは.NETFrameWorkが使えるか使えないかということであっていますか? 2、多くの書籍がVBやC#とDBを組み合わせているのは、.NETに含まれるADO.NETを使用するからですか? 3、C/C++を習得するとMFCを習得するのが一般的なようですが、MFCのメリットがイマイチわからないので教えてください(WIN32で十分代用可能なため) 4、C++/CLIを習得すればMFCは必要ありませんよね? 以上質問の数が多いですがよろしくお願いします

  • VB.NETとVC.NET(MFC)で互換のXMLパーサ

    WinXP Embbeded上で動作する一種の制御ソフトを 開発しないといけないのですが、 本体制御ソフトをVCで、ユーザIF(GUI)をVBで作ることにしています。 パラメータ等の設定をGUIと本体ソフトで遣り取りしないといけません。 VBソフトとVCソフトのそれぞれに互換のシリアライザ の様なものを実装して、共通のファイルを互いに 読み書きすることを考えています。 GUIは極力標準的かつ平凡なソフトにしたいので .NET Framework以外のライブラリを使うのは避け、XmlSerializerあたりを使うと良いのかと思いますが、VC(MFC)はXmlSerializerが吐き出したXMLファイルを 読めるパーサは何を選べば良いのでしょうか? XMLに拘っている訳ではないのですが、言語に 依存しない最も普遍的な方法ではないかと思っています。 XML以外で良い方法があればそれも良しです。

    • ベストアンサー
    • XML
  • VC++とVC++.NETその違いと最初に始めるならどっち?

    学校でC言語の授業がスタートします。 別の言語のプログラムなら結構やりましたがC並びにVBは初めて(結構ワクワクしてます) そして、この授業受ける人にVS6.0が教材として配布されたのですが(すでに家の部屋の片隅にありました(^^;) 他に必要な機材あるとの事でパソコン屋さんにいったついでに例のソフトあるのか見に言ってみました。 そしたらVS6.0がないΣ(゜Д゜;) そのかわり、VS.NETがありました。「.NET?」首をかしげて店員さんに聞きます「.NETってなんですか?」でも「ちょっとそこまでは…」と首かしげて冷や汗だしてました。(当たり前ですよね) じゃぁ「.NET」ってなぁにとなりますよね。うーんいったいなんだろう?何もしらない私はもちろんわかりません。 でも、「最新版だからいいのは確かだよね^^;」と思います。学校ではVS6.0使いますが、私は他の友達よりいい作品をたくさん家でつくって「エッヘン<( ̄^ ̄)>」となりたいです。(これは技術の向上にも役立ち一石二鳥ですからね。) じゃあ質問です。 ・VC++(又はVS6.0)とVC++.NET(又はVS.NET)その違いはなぁに? ・最初からVC++.NET(又はVS.NET)で初めていいのですか? 非常に悩む部分です。もうすぐC言語の授業があじまります。また授業で習ったことを生かして自分の趣味とお友達作りにも役立てたいなぁと思ってます。 どうか相談おねがいします。

  • .netでの、VBと比べてのC++の優位性について教えてください

    最近C++6を勉強する機会があり、自由に使えるほどでは有りませんが、C++6の世界に若干浸りました。 その際に、VB6などと比べて細かいことができるということで、C++の優位性を教えてもらったわけですが、 現在の .net になってからコンパイラによって、VB.netでもVC++.netでも「CIL」に変換されると思います。 その場合は、VB6 対 VC++6で言われていたような細かいことというのは、そのまま引き続いているのでしょうか。 それとも、CILになることによって、細かいことというのは隠蔽されてしまい、VB.netでも、VC++.netでも同じものになってしまうのでしょうか。 ※なんて表現していいのかわからないので「細かい」というあいまいな表現になってしまって申し訳ありません。 その関係の参考になるurlなどを教えていただけると幸いです。 よろしくお願いします。

  • 異なる言語同士(VBとCなど)のプログラムを呼ぶ方法、dllの作成法

    VBから自作のCプログラムを呼び出したいです。 ダイナミックリンクライブラリ(dll)を使わない解もあるのでしょう。 私は、Cのダイナミックリンクライブラリ(dll)を自作して、Cから呼び出す方法を探りました。 VCの新規作成メニュに、Win 32 Dynamic-Link Libraryがあるので、これを使えばいいのではと思うのですが、ソースでどう宣言したらいいのか、それをCから、またVBから、どのように呼び出すかがわかりません。WinAPIのように宣言して使うのかなと思うのですが。 なお、.NETでない解決法を知りたいです。 ご存知の方よろしくお願いします。

  • VB.NETでソースの一部をVC++で書く(クロスランゲージ?)

    基本はVB.NETでソフトをつくり 遅い部分などをVC++で書くことはできるでしょうか? (全く別にVC++でDLLを作成するのではなくて) クロスランゲージと言われてる機能だと思うのですが VS.NETのヘルプを「クロスランゲージ」で検索しても出てきません できるのならば、簡単な例を示してくれると有難いです よろしくお願いします

  • VS2008でVBとC++を一つのプロジェクトにすることができますか?

    VB6.0からの移行組です。現在VB6.0をメインにしてVC++6.0で作ったdllをVBで呼んでいます。VBでデバッグ中にC++で作ったdll内にバグがあった場合にどこにバグがあるかわからず不便です。 VS2008ではVBとVC++を一つのプロジェクトにまとめる事ができますか? そうすればデバッグ中にVBとVC++のコードを一連の流れで動かしてやれば、どこがおかしいのか分かりやすくて便利なんですが。 (C++がコンパイル型だから無理かな・・・) 素人な質問ですみませんがよろしくお願いします。

  • これからはじめるVC++2005

    いつもお世話になっております。 ご相談したいことは、これからVC++2005を勉強したいと思うのですが、経験者様たちからの助言を受けたいなと思っております。 例えば、お勧めの書籍、知っておいたほうが良い知識、学習順序などです。 よろしくお願いします。 ※こちらの経験は ・ANSI-C/C++基本 ・C#基礎 ・VB.NET学習中 ・VC++6.0挫折(もちろんMFCも) などです。

  • VC++6.0からVB.NETで作成した関数を呼ぶことができますか?

    VB.NET(Visual Basic 2005 Express Edition)でクラスライブラリ(AAA.dll)を作成し、BBBというModuleにCCCというFunctionをひとつ作成しました。 そのFunctionをVC++6.0で作成したプログラムから呼び出すことは可能でしょうか?また、可能な場合はどのような手順で呼び出すことができるのでしょうか? ■VB6.0でDLLを作成した場合 DLLのファイル名とFunction名さえ指定すればVC++6.0よりLoadLibrary、GetProcAddress関数を使用して呼び出せる。 ■VB.NETでDLLを作成した場合 DLLのファイル名+Module名+Function名という構成になってしまい、従来のLoadLibrary、GetProcAddress関数ではModule名が指定できないように思われるのですが・・・どうなんでしょう。 ご存知の方いらっしゃいましたらご教授お願いいたしますm(_ _)m

専門家に質問してみよう