C++/CLIでウィンドウアプリケーションを作成する方法とは

このQ&Aのポイント
  • 現在C、C++を学んでいてウィンドウアプリケーションを作成する際にはWIN32APIを使用していますが、データベースを使いたいと思いC++/CLIについて調べました。
  • C++/CLIでは、.NET Frameworkを使用することができるため、他の.NET言語と比べて便利にデータベースを組み込むことができます。
  • MFCはWIN32APIと比べると開発効率が高く、GUIアプリケーションの構築に便利ですが、C++/CLIを習得すればMFCは必要ありません。
回答を見る
  • ベストアンサー

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は必要ありませんよね? 以上質問の数が多いですがよろしくお願いします

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

  • ベストアンサー
  • MrBan
  • ベストアンサー率53% (331/615)
回答No.1

1. 「大きな違い」という意味ではまぁそうです。 「.NET frameworkに依存しているか否か」と言い換えても可。 2. C++でもADOとか使えますし、ODBC含めいろいろできますが、 ADO.NETを使う方がサンプルがお手軽で、DBに焦点をあわせやすい。 # NativeでC++ベースだと、DB以外に覚えなければいけないことが桁違い。 昨今は、(Windowsターゲットだと)NETとか謳ってる方が本が売れる # DBを簡単に使って…みたいな用途はVB系の言語使ってる人も多い。 3. Win32をC++でラップしたのがMFCであり、 CインターフェイスのWin32をそのまま使うとC++の恩恵がないので RAII等の為にクラス化したりするのが定石ですが、 自分でラップするこれらの手間を省くためのものです。 「Win32を知ってる人が、全部Win32で書くよりはちょっと楽になる」 MFC+Win32で組み合わせて使うものであって、「MFCだけ」でまともなアプリを組むことは不可能。 4. 御意。C++/CLIだと.NET framework用のためWin32も必要ないです。 ちなみに、C++/CLIはC++とは「似て非なる別の言語」なのでご注意を。

yami33
質問者

お礼

ADOとADO.NETって違ったんですね・・・同じものだと思っていました 不安と謎が解けて安心しましたー わかりやすい回答ありがとうございました

関連するQ&A

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

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

  • MFC,C++/CLI,C#の共存

    CCDカメラからの画像を画像処理ボード(MV-10というボードです)で受け取り、そのデータを使ったWindowsプログラムを開発したいと考えています。 開発はVisual C# 2005か Visual C++ 2005(C++/CLI)で行いたい(理想としては、フォームなど外観はC#、内部処理はC++)のですが、画像処理ボードのライブラリがMFCとなっていました。 色々と調べて、MFCとC++/CLIを共存させることが出来るらしく、またC#とC++/CLIを共存させることも出来るらしいと言うことが分かったのですが、具体多的な方法が分かりません。 具体的な方法が記述されている書籍や、ウェブサイトなどがありましたら、教えていただきたいです。

  • C++/CLI .NetFrameWork

    こんにちは、現在自分はVC++のC++/CLI .NetFrameWorkを使ってソフト開発しています。 それについての質問なのですが、textBoxから取得した文字をシフトJISへシフトJISコードを 文字コードに変換してtextBoxに表示することは可能なのでしょうか?

  • C++/CLIのデフォルト引数

    C++/CLIについて質問です。 C++/CLIは、デフォルト引数を指定できないのですか? ネットで調べてもでてきませんでした。 できるなら、やり方をご教授お願いします。

  • C#,C++/CLI,MFCにおけるデータ型の対応と、メソッドへの渡し方

    現在、Visual Studio 2005の、Visual C#、C++/CLI、MFCを使ったシステムを構築しています。 具体的には、MFCで書かれたライブラリ(DLL)をC++/CLIでラップし、C#から呼び出して使うというものです。 現在は、http://www.atmarkit.co.jp/fdotnet/special/vcppinvista02/vcppinvista02_04.html http://msdn2.microsoft.com/ja-jp/library/ac7ay120(VS.80).aspx これらのサイトを参考にしながら、一部のMFCで書かれたメソッドを、C#から呼び出すことに成功しました。しかし、int型やHANDLE型などの、上記サイトに記述されているデータ型を用いたメソッドのラッピングや呼び出しはできたのですが、HDCやLPRECTなどの特殊な型の場合のやり方がよく分かりません。 具体的に現在分からないのは、次の通りです。 HDC(デバイスコンテキスト)、HWND(ウィンドウのハンドル)、CIRCLE,RECT等の構造体、LPRECTなどの構造体のアドレス、POINT*などの構造体のポインタ これらが、C#やCLIでどのような型になるのか、メソッドに渡す時にどのように記述するのかが分かりません。 以上、どなたか分かる方いらっしゃいましたら、ご回答をお願いします。

  • C#について

    C#で、データベースの勉強をしていますが、 市販の一般書籍では、サーバーエクスプローラ等、GUIを使用して簡単に、データベースアプリケーションが作成できるなどの記述が多くしてあります。 VBやC#のデータベースの記述に関するところは、ほとんどの書籍(9割以上)が、GUIで、DB接続、ドラッグ&ドロップで、データセット作成とか、説明されていますが、少なくとも、私の経験上、VB.NETの開発で、そんな現場に出会ったことがありません。DB接続も、データセット取得も、すべてコードで記述しました。 なんで、そんな一般書籍は、使いもしないことばかり触れているのだろうと毎日思うのですが、C#のデータベース(ADO.NET)で、すべてプログラムコードで、記述している一般書籍はありませんでしょうか? できれば、VisualStudio2005か、2008対応でお願いします。

  • C++の勉強方法

    お世話になります。whatpyonと申します。 最近C++を習得しようと思って勉強を始めているところですが、正直勉強方法に悩んでいます。 (同じような質問を投稿されていた方のレスも拝見させていただきました。) 最終的には、趣味プログラミングで終わらせるつもりはないです。 <最終的な目標> 『MFCを使ってダイアログベースのアプリケーションを作成する』  ※DBへのアクセス処理も含む。 <期間> 3ヶ月(目安) プログラム経験は、VB、Javaを1ヶ月程度(所詮付け焼刃の知識しかないですが)しかなく、ほぼ初心者です。 初心者が理解できるようなMFCの書籍を購入して取り組んでいるのですが、書籍で書いている通りのプログラムは組めますが、本質を理解できていないためか、応用を利かせることができません。 また、クラスをどのように分割すれば一番効率的なのかといったこともまったくわかりません。 ここは、まず1ヶ月程度みっちりC++の基本文法、クラスの設計方法等の習得に注力すべきなのでしょうか?

  • C++でおすすめの書籍はありますか

    C++でおすすめの書籍はありますか? プログラミング経験はVB.NETとVB6.0およびVBAです。 一応仕事でやってますのでプログラミング経験は7年ぐらいです。 C系は基本情報受けるときにC言語の簡単な本が呼んだことある程度です。 VB.NETはそこそこちゃんとした本を覚えるぐらい読んでいるのでオブジェクト指向 の概念はある程度理解しているつもりです。 1000ページ程度で画面のプリントスクリーンとか無駄なのが無い内容の詰まった本が好きです。 多少分かりにくくても時間をかけて何度も読むほうなので・・。 MFCとかAPIの内容までは含んで無くても構いません。 ロベールのC++教室とか独習C++なんかはページ数多そうでしたがもっといいのはありますか?

  • C++/CLIとMFC

    よろしくお願いします。 環境はVisual C++ 2005です。 ご存知の方がいらっしゃいましたらご教授ください。 一つのプロジェクトで作成した親Formに対して、 もう一つのプロジェクトで作成した子ウィンドウをプラグインさせ、MDIを作ろうとしているのですが [CLR]->[Windowsフォームアプリケーション]で作成したプロジェクトのFormに対して MFCで作成した子ウィンドウをプラグインさせることは可能なのでしょうか? C++/CLIでMDIを作る時は MDIの親となるFormのIsMdiContainerプロパティをtrueに設定し、 MDIの子となるFormのMdiParentプロパティをMDIの親Formの インスタンスに設定する必要があると思うのですが、 子の部分をMFCを使って作成した場合どのようにすれば 親子関係が作れるのかわからず質問させていただきました。 よろしくお願いします。

  • C++でGUIプログラムを作るには?

    C++のプログラムの参考書にはコンソールプログラムの例しか ありませんが、C++/CLI(Windows Form)やMFCなどを使わずに APIとかで作るとしたらどうすれば出来るのでしょうか? ただのCであればWinMainとメッセージ処理のプロシージャを 用意してそこの中にプログラムをしてあげれば良いのですが…。

専門家に質問してみよう