• 締切済み

C++/CLIと.NETって全く違う物ですか? 混乱してます

現在C++/CLIを学習中(入り口にもたどり着いていませんが)で、Googleからいろんな所に飛んでいるのですが、いろいろ記事を見て混乱してしまいました。 ManagedC++がC++/CLIに進化したみたいですが、ManagedC++がCLR(.NET Framework)で動けるようにマネージ拡張されたC++。 C++/CLIはManagedC++が整理されたもの。 VisualC++ 2005における.NET FrameworkとC++/CLIはどういう関係があるのでしょうか? どうしてもC++/CLIと.NET Frameworkの扉が開けなくて困っています。

noname#17308
noname#17308

みんなの回答

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

>解説している本があるみたいですが その本がどんなものか知りませんので、お答えはできません。 アセンブリとかそのバージョン管理なんかは、.NET関係の本なら大抵書いているんじゃないかと思います。そういう枠組みの話を除けば、.NET Framework とは、クラスライブラリだと考えられるので、学習云々とかは特別必要じゃないんじゃないかと(個人的には)思います。必要ならリファレンスを引けばいいし。 MSDNのリファレンスは、結構サンプルコードなんかも載っているしね。 どっちにしろ、全てのクラス(確か2500コ近いクラスがあったと思いますが)を微に入り細に入り解説した本を書いて出すことは不可能に近いと思いますしね。 どんなクラスがあってどんな使い方をするのかとかは、必要なところから、興味のあるところからやればイイと思います。本もそういう用途で選ぶといいんじゃないでしょうか。

noname#17308
質問者

補足

C++/CLI Primerという本だったような気がします。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

VisualC++ 2005 から.NET Framework を使う場合、 C++/CLI として使っていると考えていいように思います。

noname#17308
質問者

補足

Amazonに要所ですが、漠然とC++/CLIを解説している本があるみたいですが、アレを読んでいれば.NET Frameworkは別に別途学習しなくてもいいということでしょうか?

関連するQ&A

  • VC++2008EE 2種のコンソールの違い

    VisualC++入門書で学習中の者です。(VisualC++2008EE使用) Win32コンソールとCLRコンソールの2種類があり、本ではWin32コンソールのみ使用して解説してます。 構成プロパティ/全般/プロジェクトの規定値では、共通言語ランタイムサポート(/clr)になっています。これでC++/CLIに対応するいうことです。 では、この場合のWin32コンソールとCLRコンソールとで違いって何でしょうか。 標準C++の記述とC++/CLIの記述が混在したときにコンパイルでエラーになる場合があるとか、実行速度に違いが出るとかの差が生じるものでしょうか。 よろしくお願いします。

  • C++/CLIでfstream(.NET 3.5)

    過去の資産にアクセスするためにC#から使うクラスライブラリをC++/CLIで作成しています。 当初は.NET Framework 4.5で作成していたのですが、Windows7でFrameworkを追加するのが面倒くさいという事で、3.5でプロジェクトを起こし直してコンパイルしました。 そうしたところ、大量のリンクエラーが発生しました。 --抜粋(下記を含め、合計18行のエラー) VCMRTD.lib(locale0_implib.obj) : error LNK2034: metadata は、COFF シンボル テーブルと整合しません: LINK : error LNK2034: metadata は、COFF シンボル テーブルと整合しません MSVCMRTD.lib(locale0_implib.obj) : error LNK2020: 未解決のトークン (0A0000A1) "extern "C" double __cdecl _hypot(double,double)" (?_hypot@@$$J0YANNN@Z) -- 調査した結果、fstream関連を定義するとこの症状が出る事がわかりました。 そこで、単純に以下のプロジェクトを作成したところ、同じ現象が発生しました。 1..NET Framework 3.5でCLRクラスライブラリのプロジェクトを作成する(ここではTESTプロジェクト) 2.作成されたテンプレートの「TEST.h」に関数を追加する -----(TEST.h) // TEST.h #pragma once #include <fstream> using namespace System; namespace TEST { public ref class Class1 { void test() { std::fstream f; } }; } ---- 3.コンパイル → リンクエラー 標準関数はいくつか使っているのですが、fstream系だけがダメなようです。 (sstreamはOKでした) これに関して、何か対策方法はないものでしょうか。 情報があればお教え下さい。 よろしくお願いいたします。 開発環境: Windows 8.1 VisualStudio 2013 Pro

  • シンプルなC++のコンパイラを教えてください!

    C++、プログラミングの全くの初心者です。。 今、visualC++2005をインストールして、Win32アプリケーションを作成するため、 http://freepg.fc2web.com/cpp/topic_vce_001.html に従って、SDKのインストール→“corewin_express.vsprops”の修正まで来ました。ですが、“corewin_express.vsprops”のファイルが開くことができず、困っています。インストールすべきプログラムを知っている方、その他対処法を知っていたら教えてください。 それから、わたしは高度なプログラムを作ることが目的としているわけではなくて、「点が点滅するプログラムを作る」程度のことができれば十分なのですが、それでもVisualC++を使うのがいいのでしょうか?? メモ帳とコマンドプロンプトでほんの少しjavaをかじっただけなので、VisualC++は私にとっては機能が多すぎて、逆に混乱してしまっています。。というか、正直Win32アプリケーションが使う必要があるのかも理解できていないのが現状です… もっとシンプルなC++のコンパイラ(できればメモ帳つかうもの)があれば教えていただけたらうれしいです。(googleなどで検索して、VisualC++がいいとあったので、ひとまずVisualC++をインストールしました。) 勉強不足で申し訳ないのですが、どうかおねがいします!!

  • Linux上で動くシステムとしてC系とJavaは

    C系を学習しようかJavaを学習しようか迷っております。 用途としては、自社の全支店、他企業(承諾済みとします)のWebコンテンツ、サーバ上のデータ他、いわゆるデータを自動で吸収(読み取り、保存)し、それを専用のLinux機器にてデータの加工、再処理などを数学なども利用して実行したいと考えております。 似たようなものとして(?)良く分かりませんがGoogleの検索ロボットのようなものだと思います。 自分はPHP、JavaScript等のWeb言語などは習得しているのですが、C系やJavaは学習しておりません。 ただ、オブジェクト指向という点は少々慣れていると思います。 具体例がかなり説明不足だと思いますが、このようにパソコン内部でシステムを動かす際にはどちらの言語がいいのでしょうか? 色々とWebで調べてみたのですが難しくて分かりませんでした。 各言語で出来ているソフトウェアを考えても、Apache、Linux、Eclipseとかしか分からずシステムとしてはC系の方がいいのかなと単純に思っております。 C系とJavaの違いとして、ライブラリ、フレームワークがあると思うのですが、C系は基本的に殆ど自分でプログラミングを作成する、JavaはJSPとかライブラリ、フレームワークが多いようなので開発は楽そうな感じはするのですが。 それ以外のお互いの利点が良く分かりません。 Javaに関しては、PHP等よりも型指定などにより複雑だけどセキュアな銀行などで使われるWebアプリ、携帯アプリとかぐらいしか思いつかないレベルです。 すみませんが以上の点でよろしくお願いします。

  • 【.net framework】zip書庫とzipパッケージの違い

    いつも大変お世話になっております。 VC++初心者です。 前回質問した内容と重複しますが、 改めて質問させて頂きたいと思います。 現在、VC++2005 ExpressEdition CLRプロジェクト(C++/CLI)でプログラミングしています。 zip圧縮、解凍を行うため、 net framework 3.5をインストールし Syste::IO::Packaging::ZipPackageを使用しようとしました。 ZipPackageについて、前回質問させて頂いたところ、 「『zipパッケージ』と『zip書庫』とは別物です。」 とご指摘頂きました。 『zip書庫』とは、私が行いたい圧縮ファイルを指すと思うのですが、 『zipパッケージ』とは何なのでしょうか。 ご存知の方がいらっしゃいましたら、ご教授頂きたくお願いします。

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

  • border-left-color-ltr-source について。

    border-left-color-ltr-source について。 「border-left-color-ltr-source: physical;」のCSSについてGoogleで調べたものの、これについて詳細が書かれている記事が見当たりませんでした。 CSS3のものである、Googleが独自拡張したものというところで、あやふやながら分かったのですが、より具体的に知りたいのです。 教えて頂きたいことは・・・ 1.W3Cの正式CSSのプロパティなのか? 2.Googleが独自拡張したCSSという話は本当なのか? 3.どちらにも属さず、製作者の意図で作られたものなのか? 4.正式なプロパティなら、取る値の一覧が知りたい。 または、詳細に書かれているサイト、書籍があればご紹介頂ければ幸いです。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • C#とC++/CLIの使い分け

    .netFramework用のC系言語にC#とC++/CLIがありますが、この2つはどの様に使い分けていますか? それぞれ、得意な分野などあるのでしょうか? よろしくお願いします。

  • C#とC++/CLIの連携について

    C#とC++/CLIの連携について C++/CLI側にC#で作成した変数を渡したいのですが、やり方がわかりません。 そもそも一つのソリューションにC++/CLIとC#を混在することはできるのでしょうか。 やはりC++/CLI側はDLLにして、C#がそのDLLを利用するのでしょうか。

  • C++/CLIのDLLをC#で使う

    C++/CLIのDLLをC#で使う ソリューションの中にC++/CLIでクラスを作成し、出力がDLLのプロジェクトと、 C#でGUI画面の処理のプロジェクトがあります。 このときC#側でC++/CLI側で作ったDLLを使用したいのですが、やり方がわかりません。 DLL自体はC#のDebugフォルダに入っており、参照設定で読み込んでいます。 ご教授のほど、よろしくお願いいたします。

専門家に質問してみよう