• ベストアンサー

VC++.NET2003と2005はどれ位違うものなのですか?

Visual C++.NETについての質問です。 今度VC++.NETを使うので、勉強しています。 ■PC環境 VC++ 2005 Express Edition ■勉強に使っている本 ひと目でわかるVisual C++.NET Version 2003 アプリケーション開発入門 なのですが、本に書いてある例を参考に打っても時々エラーが起こります。 __gcの部分だったり、get_Now()の部分だったりと。 一体2003と2005はどれ位の違いがあるのでしょうか。 もしご存じの方がいらっしゃいましたら教えていただけないでしょうか。お願い致します。

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

  • ベストアンサー
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.2

get_Now()のほうはわかりませんが、__gc のほうは マネージ拡張のキーワードじゃないでしょうか。 この辺は2003と2005とで大きく変わっていますので、 はっきりいって今の本は参考書として使えないと思います。 @IT:特集:Visual C++ 2005 いままたC++が熱い!「C++/CLI」として大進化したVisual C++ 2005 http://www.atmarkit.co.jp/fdotnet/special/cppcli/cppcli_02.html C++/CLI - Wikipedia http://ja.wikipedia.org/wiki/C++/CLI なにもマネージ拡張の勉強せんでもと思いますけどね。 最近になって2005対応の入門書もぼちぼち出版されてきている ようなので、今のうちに買いなおした方が 良いと思います。

mitsuki_souma
質問者

お礼

ご回答ありがとうございます。 2003の参考書はあまり使えないみたいですね。 本棚にこれしか無くて、参考書通りに進めていたらエラーがぽろぽろ。 2005対応の参考書を準備しようと思います。

その他の回答 (2)

回答No.3

マネージ拡張に関しては、 2003 : Managed C++ 2005 : C++/CLI 文法/構文が"まったく"違います。

mitsuki_souma
質問者

お礼

ご回答ありがとうございます。 全く違うものなのですね。文法/構文が違うのでエラーが出てきていたみたいです。 2005の参考書を買おうと思います。

  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.1

★アドバイス ・私が今知っているのは  (1)VC2003 は文字列定数の初期値が『マルチバイト文字』で VC2005 は『Unicode文字』  (2)VC2003 は long long 型の書式制御文字が『%I64d』『%I64u』ですが VC2005 は『%lld』『%llu』  の2点ですがまたあるような気がします。  (1)の違いによりワーニングが大量に出ることは良く聞きます。 >__gcの部分だったり、get_Now()の部分だったりと。  ↑  本持っていないので分かりませんよ。  ソースとかを貼り付けてくれないとね。 ・以上。下の『参考URL』もどうぞ。

参考URL:
http://www.kumei.ne.jp/c_lang/net2005/index.html,http://www.kumei.ne.jp/c_lang/net2005/sample.htm
mitsuki_souma
質問者

お礼

ご回答ありがとうございました。 なるほど、やはり多少の違いはあるようですね。 確かにソースがあると分りやすかったかも知れません。 今後質問するときは注意してみます。

関連するQ&A

  • VC++6.0からVC++2008exへの移行に関する質問

    VC++6.0で組んだ開発環境(ヘッダなど)をVisual C++ 2005と Visual C++ 2008 Express Editionに移行できるかを教えてください。 よろしくおねがいします。

  • VC#とVC++の両方を使いたいんですが・・・

    今まではMicrosoft Visual C# 2008 Express Edition(以下VC#)だけである程度の開発を進めてきましたが、今後はOpenCVをC#で使いたいと考えています。 OpenCVに関する本やWebページを見ても、Microsoft Visual C++ 2008 Express Edition(以下VC++)を例にするものしかありませんでした。 Webページで、VC++を使って、ビルドしたあとdllファイル(?)をC#に読み込むことで、C#でOpenCVを使えるという記述を見つけたため、VC++もインストールしました。 しかしVC++をインストールする際、以下のようなコメントが出てきました。 --- コンポーネントが既に別の場所に保存されているか、別の場所に保存されたファイルに依存しているため、このコンポーネントまたはサブコンポーネントの場所を変更できません。 以下のプログラムが原因でファイルが統合されようとしています: Microsoft Visual C# 2008 Express Edition with SP1 - JPN ファイル パスを変更するには、上の一覧にあるプログラムをアンインストールしてから、Visual Studio と共有しているファイルを格納する場所に再インストールしてください。 --- もしかしたらSP1はインストールしなかったのかもしれません(チョット記憶が曖昧ですみません)。 実際、VC++でOpenCVを使ったプログラムを書いた際、ビルドは出来るものの、デバッグすると以下のようなコメントが出てしまいます。 アプリケーションを正しく初期化できませんでした(0xc0150002)。[OK]をクリックしてアプリケーションを終了してください。 これはSP1が使える状態になっていない(インストールされていない)ということなのでしょうか? 先ほども書いたとおり、VC#である程度の開発が進んでいるため、アンインストールをしてプログラムが使用不可能になってしまうことを恐れ、アンインストールをためらっています。 アンインストールと再インストールをしたとして、どこの設定を変えれば再度使えるようになるのかを教えていただけますか? あまりパソコンやVC++、VC#を詳しく知らないので、詳しく教えていただけると嬉しいです。

  • VC++(MFC) とVC++,NETの違いと今度の需要

    VC++(MFC) とVC++.NET の違いと今後の需要についてです。 IT関係のものではないですが、パソコンが好きで 独学でプログラムの勉強をしようと考えています。 C言語は大学のカリキュラムで習った程度で、 Javaの文法的な独学の経験は多少あるという程度の者です。 まず、質問なんですが 「Visual Studio .NET 2005」を使用してできるのは、VC++(MFC)ではなく、VC++.NETの方ですよね? 「Visual Studio2008 Express Edition」もVC++.NETですかね? 従来のVC++(MFC)をやるにはどうすれば?まだ売っているんですか? (企業の求人にVC++(MFC)と限定して書いてあったので) また、無償のExpress Editionだとこれ以上の機能のフリーソフトは 作れないよ~みたいな制限なんかあれば教えてください。 メインの質問に戻りますが、 同じVC++でも MFCと.NET Freamework(,NET言語)じゃ ネイティブコードを吐き出さない(.NET)とは、処理速度が 違うんじゃないのかなぁーと思いまして。(よく理解してませんがw) それで、今後自分で勉強していくにあたって、どちらをすべきで 需要があるかなど迷っているんです。 それと合わせて、SQLデータベースを勉強するに当たってですが、 個人で勉強するには、何がいいかなと思いまして。 なんかオラクルなんて個人レベルじゃとっつきにくいんです。 MS-AccessかMySQL(Linux)でやってみようかと思うんですが スキルアップ(実用的ですかね)になりますかね? 現在Cent OS 4でMySQLが動くようにはしています。 また、何を作るかによって違ってくるとは思いますが、 何言語でwindowsアプリケーションを作り、そのアプリケーションから データベースに接続し、データを取得、表示、更新するようなものが一般的と思いますが、言語とデータベースの開発環境の組み合わせの 選択が、企業などの開発業務に携わったことがないので、 わかんないんです。 言語はこれで、データベースはこれ、で「******が出来るアプリケーション」を作ってみては?みたいな進めやすい例はないものでしょうか? いろいろ調べてるんですが、初心者向けに文法的なことは書いていますが、アプリケーションを実際に作りながら進めていく、VC++.NET(クライアント側windowsアプリケーション(画面))とAccess(サーバ側)を使用した、「個人用データ管理システム」みたいなのが見あたらないんです。 言語文法ばかり勉強しても、個人(自宅レベル)では 具体的な作品を作らないと実感が沸いてこないので。。。 いろんな情報教えていただけませんか? 調べる努力はしていますが、前に進まず、悔しいです(>.<) お願いします!

  • VC++ express editionでマルチスレッドは可能ですか?

    VC++ express editionでマルチスレッドは可能ですか? Visual C++ 2008 express edition で マルチスレッドプログラミングは可能でしょうか? ちょっと調べたところ、2005(MFC)ならば簡単にできるようですが。 (すみません、MFCがどういうものか良く理解できていない者です)

  • VC++ 5.0 ProとVC++ 2008 Stanの両方を持ってい

    VC++ 5.0 ProとVC++ 2008 Stanの両方を持っているのですがどちらを先に勉強したら良いですか? Visual C++ 5.0 Professionalを勉強するのは時代遅れだからやめた方がいいですか? Visual C++ 2008 Standardを勉強した方がいいですか? 参考書も全く同じ著者(林晴比古)の書いたVisual C++5.0入門ビギナー編とVisual C++ 2008ビギナー編を持っているのですが、Visual C++ 2008ビギナー編の方を読んだ方が良いですか? 古い環境は簡単なのですが勉強する意味はないですか? 新しい環境にチャレンジした方が良いですか? Visual C++ 5.0は今使われているのですか?

  • VC++ で新しいフォームを開く方法

    Visual C++ 2005 Express Editionをつい2、3日前にDLしました。 CやC++、VBなどの基本的なことは学んでいるのですが、まだまだ勉強中のものです。 タイトル通りの質問なのですが、VC++で新しいフォームを開くにはどうすれば良いのでしょう? VBの場合は例えば Form1.show などで開きますよね? それと同じ動作をさせてたいのです。 よろしくお願い致します。

  • Visual C++ Express Editionのランタイムなしで起動する方法

    いま、Visual C++ Express Edition を使って、開発しています。 前回、同じようなことを質問したのですが いまいちわからなかったので、もう一度質問させていただきます。 Visual C++ Express Edition で作ったWin32アプリケーションは、 VCランタイムが必要らしいですが、 VCランタイムをほかのPCにインストールしなくても 起動できるようにはできないのですか?

  • VC++6.0からVC++.NETへの変遷について

    VC++がようやく分かり出したこの頃ですが、今日本屋に立ち寄ったら、なっ なんとVC++の本がほとんど無くなり、代わりにVC++.NETとVC#ばかりになっていました。 C#はVC++とは違うと聞いていたのですが、読んでみるとVC++.NETもかなり違ってました。 (かなり違うという表現は、各人の状況により意見が異なると思いますが) 私のような本を見ながらコードを打って勉強している初心者にとって、VC++.NETの本ではVC++6.0を動かすことができません。 今から勉強する人や本を買って勉強しようとしている人あるいは、コンパイラを手に入れようとしている人はVC++.NETに移行してしまわざるを得ないのでしょうか? すでにVC++6.0を十分活用出来ている人も、時代の流れでNETやC#を勉強していかなければならないのでしょうか? つまり、単なるバージョンアップとは一線をなす変更がなされたということなのでしょうか? 良くご存知の方見解をお願いします。

  • .netについてなんですが

    .netについてなんですが IT業界にほとんど未経験で転職しました。来月から仕事に入るんですがその前に勉強しておこうと思ってます。どの言語かと聞いた所.netという回答が帰ってきました。そのときは頷いたのですが 調べてみるとVC++.netのことかVC#.netのことか意味がわからなくなってしまいました。Cって言ってたのでどちらかだと思います。C#はC++を受け継いでいるとわかったのですがVC++.netとVC#.netの違いの 意味がわかりません。 また練習としてVisual C++2008でやればいいのかVisual C#2008でやればいいのか さっぱりです。教えてください。

  • 【VC++.NET】ポインタとは??

    VC++.NETを、入門書で勉強しています ぐぐったりしてみたのですが、ポインタというのが、いまいちわかりません。 【質問】ポインタとは、何なのですか?また、どういう時に利用するのですか?利用の仕方も教えていただければ幸いです