none
VS2008Express editions SP1 from 日経ソフトウエア付録DVD RRS feed

  • 質問

  • やっと 表記を入手して これを用いようと思うのですが、
    1:環境はWindowsXP Homeです 既にVS6.0 が入っています 利用はC++。
    2:これをそのまま 新規にInstallして良いでしょうか?それともVS6.0はUninstallしてからすべきでしょうか
    3:現在正常に作成できているProjectは そのまま 移行できるでしょうか

    2:について 本誌には VS2008EEをUninstallするように指示しているのですが 他の旧版については見当たらない
    3について MFCはついているようです。一方 。NET FRAMEWORKなどに言及しているのですが これは使っていない
    (と思う)ので それで不都合が生じないか

    その他注意事項があれば おねがいします

    やっていたらと勧められたのですが 小心ものには 今できることが出来なくなるより このままでの方が良いと
    思案中です
    よろしく 助言をいただきたいです

    2009年10月28日 9:44

回答

  • 2:について 本誌には VS2008EEをUninstallするように指示しているのですが 他の旧版については見当たらない

    特に影響しません。(Visual Studio 2008 Express Edition と SP1 の間でのみ影響する)
    なお、Visual C++ 6.0 については、(Visual Studio 2008 リリース時点で)既にサポートも終了している製品ですので、言及されていなくても不思議ではありません。

    3について MFCはついているようです。一方 。NET FRAMEWORKなどに言及しているのですが これは使っていない
    (と思う)ので それで不都合が生じないか
    「MFC はついているようです」とは、何についているのですか。
    Visual C++ 2008 Express Edition や その SP1 には、MFC は含まれていませんので、MFC を使ったプロジェクトはまずビルドできません。
    MFC を使いたいのであれば、Standard Edition 以上を購入してください。

    やっていたらと勧められたのですが 小心ものには 今できることが出来なくなるより このままでの方が良いと思案中です
    前述しましたが、Visual C++ 6.0 は既にサポートが切れている製品です。
    その製品が提供するランタイムにセキュリティ関連する問題があってもアップデートは提供されません。
    そして、古ければ古いほど、その製品を使った場合に生じる疑問点に答える人は減りますし、書籍も入手しづらいか、なくなるでしょう。

    デメリットを考慮した上で選択するのは自己責任です。
    情報がなかったとしても、ご自身の責任で解決する姿勢でいてください。


    解決した場合は、参考になった返信に「回答としてマーク」のボタンを利用して、回答に設定しましょう(複数に設定できます)。
    2009年10月28日 14:13
    モデレータ

すべての返信

  • 2:について 本誌には VS2008EEをUninstallするように指示しているのですが 他の旧版については見当たらない

    特に影響しません。(Visual Studio 2008 Express Edition と SP1 の間でのみ影響する)
    なお、Visual C++ 6.0 については、(Visual Studio 2008 リリース時点で)既にサポートも終了している製品ですので、言及されていなくても不思議ではありません。

    3について MFCはついているようです。一方 。NET FRAMEWORKなどに言及しているのですが これは使っていない
    (と思う)ので それで不都合が生じないか
    「MFC はついているようです」とは、何についているのですか。
    Visual C++ 2008 Express Edition や その SP1 には、MFC は含まれていませんので、MFC を使ったプロジェクトはまずビルドできません。
    MFC を使いたいのであれば、Standard Edition 以上を購入してください。

    やっていたらと勧められたのですが 小心ものには 今できることが出来なくなるより このままでの方が良いと思案中です
    前述しましたが、Visual C++ 6.0 は既にサポートが切れている製品です。
    その製品が提供するランタイムにセキュリティ関連する問題があってもアップデートは提供されません。
    そして、古ければ古いほど、その製品を使った場合に生じる疑問点に答える人は減りますし、書籍も入手しづらいか、なくなるでしょう。

    デメリットを考慮した上で選択するのは自己責任です。
    情報がなかったとしても、ご自身の責任で解決する姿勢でいてください。


    解決した場合は、参考になった返信に「回答としてマーク」のボタンを利用して、回答に設定しましょう(複数に設定できます)。
    2009年10月28日 14:13
    モデレータ
  • すこし わかりました。
    MFCについては ”MFCのリボンも協力”と謳っていたのですが よく読むと”この有償版ではMFCをつかって。。” とある。
    残念。


    2009年10月28日 20:18
  • VS6.0 MFCはOSにある程度自由であると理解しています。
    VS6.0 はもともとWindowsXp適用とは記載されていない(XP発売前の製品かな?)
    けで 現在XPで使用しています。
    一方 VSの版が違うとMFCは共通では使えないようですが、どうしてでしょうか?
    あたらしい関数とか 削除して関数であれば わかりますが 使用するアプリのソースをコンパイルして MFCのライブラリー(? 機械語? DLL) にLINKするときに アドレスが VSの版毎に異なってしまっているのでしょうか?
    教えてください。



    2009年11月8日 0:37
  • Visual Studio 6.0 は Windows 98 SE の後ぐらい ( Windows 2000 より前だったかは覚えていませんが ) に発売された製品です。

    そして、Visual Studio 6.0 の次にリリースされたのが Visual Studio .net だったと思います。
    確か、.net に付属する MFC は ATL に使われた技術が使われる様になった ( フレームワーク部分はほとんど変わっていなかったはずですが、TRACE 等の一部が変わった ) ものです。

    一方 VSの版が違うとMFCは共通では使えないようですが、どうしてでしょうか?
    MFC の共用 DLL が Visual C++ 6.0 付属のものと、OS 側とで違うせいだったと思います。Visual C++ 6.0 の MFC 共用 DLL は MFC42?.dll ( マルチスレッド対応等で複数の MFC42?.dll が存在したはず ) だったと思いますが、基本的には既存 OS との互換性の為に、新しい OS にも古い MFC DLL がインストールされていたと思います。ただ、デバッグ版 ( MFC42?d.dll 等 ) はインストールされていないはずです。

    私の勘違いだったらすいませんが、Windows XP 上の Visual C++ 6.0 でビルドしたアプリケーションが他の Windows XP で動かないという話であれば、リリース版をビルドすればいいように思います。

    というか、Visual C++ Express Edition のフォーラムで MFC の話を出されても、回答が付きにくいと思います。

    Visual C++ Express Edition は ( 現在は ) Visual Studio 2008 の MFC 等のライブラリが一切付属していない、Win32 API を直接使うしかないものですので。
    2009年11月8日 4:47
  • MFC の共用 DLL が Visual C++ 6.0 付属のものと、OS 側とで違うせいだったと思います。
    そういうことではなくて、「なぜ、Visual Studio 2002/2003/2005/2008/2010 等にアップグレードすると、古い Windows で利用できないバイナリができあがるのでしょうか?」という意図ではないでしょうか?

    Visual C++ 6.0 においても、たとえば、Windows 3.1 で使えない等、以前の OS で使えないところはあります。
    要するに、後発の Windows 上では Windows 側で互換性が保持されているので、問題なく利用できているに過ぎず、Visual C++ 6.0 の MFC が特別なわけではありません。

    さて、なぜ、利用できなくなるかですが、例えば、コンパイラが書き出すコードが 16bit/32bit/64bit の違いであったり、標準ライブラリや MFC の内部実装が特定の Windows 以上でサポートされている API を利用していたり、理由はいくつかあります。
    よって、使用する Visual Studio のバージョンが異なれば、それを利用して作られるバイナリも利用できる環境が変わります。
    解決した場合は、参考になった返信に「回答としてマーク」のボタンを利用して、回答に設定しましょう(複数に設定できます)。
    2009年11月8日 8:20
    モデレータ