64bit Project with Visual C++ 2008 Express Edition SP1

無事、Windows7 のインストールと環境移行も完全に済み、ようやく64bitデビューできました(^^;;;

64bit版だからといって、特に変わったこともなく、フツーに使えてます。ただ、メモリ食いますね・・・。32bit版だと、タスクマネージャで確認すると起動時で600~800MBぐらいのメモリ消費。64bit版だと、この倍の1.1~1.3GBぐらいになります。まぁ・・・64bitなんだからしょうがないね・・・と自分で自分を納得させています(笑)

で、次は、ツール類のビルド環境です。自作のツールがチョコチョコとあるので、これも一気に64bitネイティブバイナリにしたい!っていうのは当然の欲求じゃないでしょうか(^^;;;

しかしながら・・・無料バージョンのVisual C++ 2008 Express Edtionでは、64bitの開発はサポート外になっています。別途、Windows SDK (Windows7,Server2008,Server2003,XPに対応したv7バージョン)を追加インストールすると、コマンドラインからの64ビット開発はできるものの、やはりVisual StudioのIDEで楽をしたいというものです。が、実際、IDEからは64bitのプロジェクトは構成できません。これは、Standardエディションを買えと、いうことですかね・・・。まぁ、そりゃそうだ。

でも、実は・・・サポート外、というだけで、少しの修正で64bitのプロジェクトが作成できるようです。

Visual C++ 2008 Express Edition And 64-Bit Targets
http://jenshuebel.wordpress.com/2009/02/12/visual-c-2008-express-edition-and-64-bit-targets/

やはりすでにやられている方がいますね。上記アドレスから、VCE64BIT.zip をダウンロードして、バッチファイルを実行すると64bitを構成することが可能になります。ありがたい。。。
(WindowsSDKインストーラのバグに対応した、VCE64BIT_WIN7SDK.zip ってファイルに更新されていました。VCE64BIT.zipをダウンロードして実行しても適用されないようです。ご注意を。 追記:2010/3/27)

ただ、上記アドレスの内容を読むと、おそらくSP1以前の内容じゃないかと・・・。僕の環境とはちょっと違っていたので、ダウンロードしたファイルのバッチファイルを修正して使用させてもらいました。

具体的には、VCProjectAMD64Platform.dllとVCProjectIA64Platform.dllがC:Program Files (x86)Microsoft Visual Studio 9.0VCvcpackagesディレクトリにコピーされないようにしました。僕の環境では、すでに上記二つファイルは、32bit版のものがインストールされていたので・・・。

上記内容をよく読むと、VC++2008expressって、64bit Windows上でも64bitのコンパイラではなく、32bitのクロスコンパイラが使われるようですね・・・。

次期バージョンのVisual Studio 2010では、64bitに完全対応してくれるのかな???

ということで?、無事、IDEから64bit プロジェクトが構成されました(^^)

VC++ 2008 Express Edition

補足

新たにプロジェクトを作成しても、デフォルトではソリューションプラットフォームにx64(or Itanium)の選択肢は表示されません。
まぁ、当たり前だと思いますが・・・。プラットフォームにx64 or Itanium を追加するには、一手間かける必要があります。

構成マネージャのダイアログを表示させ、アクティブソリューションプラットフォームから”新規作成”を選択すると、Itaniumとx64が現れますので、x64を追加する必要があります。

新規作成

それと、当然ですが、Windows SDK v7をインストールする必要があります。言わずもがなですけど・・・。

Windows Virtual PC と XPモード

昨日は、あまりに寒いのに耐えかねて暖房器具出しました(^^;

Windows7の目玉機能の一つはやはりXPモードでしょう。でも、これ、セットアップがちょっとややこしいと思います。

XPモードはWindows7のインストール時に含まれていないので別途Webからのインストールになります。まぁ、このXPモード(Windows Virtual PCとXP仮想マシン)のインストールは特に問題はないんですが、ややこしいのはXPモードで使用するアプリケーションのセットアップです。

XPモードで使用したいアプリケーションは、一度Windows Virtual PC上のXPでインストールすると思いますが、統合モードで使用したい場合、アプリケーションのショートカットは”All Users”のスタートメニューのプログラム内に作る必要があります。そうしないと、Windows7のスタートメニューにXPモードで使用したいアプリケーションが出てこないようです。たまに、インストールしたユーザーのスタートメニューだけにショートカットを作るインストーラーもあるので、そういうアプリは要注意かもしれません。

スタートメニュー

試しにVirtual PC のXP上のAll Usersにコマンドプロンプトのショートカットを作ってみたところ、Windows7側のスタートメニューにちゃんと出てきました。

ちなみにコマンドプロンプトを入れた理由は、アプリのランチャー代わりです(^^;;;
統合モードでXPの電卓と7の電卓をならべてみました。意味はありません。

キャプチャ

なんか、昔WindowsにX-Serverソフト入れてネットワーク上の別マシン(FreeBSDだったか???)を動かしていたころを思い出しました(^^;;;

この統合モード、結構よくできていて、タスクバーの通知領域に張り付くアプリもちゃんとWindows7のタスクバーの通知領域にそのアイコンが表示されます。Vistaの時と比べてチカラの入れようが違いますね(笑)

そうそう、Windows Virtual PCは、やっとこさ仮想マシンからUSBが共有できるようなりました。ためしてないけど、USB接続のフィルムスキャナとかは動くと思われます。

・・・DimageScan Elite 5400II、ヤフオクで処分しようかと思ってます・・・もう使うことはないでしょう。果たして値が付くんでせうか・・・・?

64bit + 8GB RAM

64bitと8GBのRAMの効果はかなり体感できます。

入力系ツール(ATOK,XKeymacsなど)と常用ツール(エディタなど)、Adobe系のアプリケーションは一通りセットアップ終了。あとは、開発ツール類と各種ローカルサーバーのセットアップを残すのみ。そっちは、使用することになったその都度インストールすることに。

で、Windows7の使用感ですが・・・VAIOノートにはRC版を入れて使っていた感じと比較すると・・・やはりデスクトップ環境では速度が違います。XPのときよりもむしろサクサク動いている感じです。

一度使用したファイルはシステムキャッシュ(自動的に空き物理RAMに割り当てられる)に溜まっていくわけですが、搭載メモリが8GBもあるとほとんどすべてのファイルがキャッシュに入るので2回目以降のアプリケーションの起動時間は一瞬です。

アプリケーションの初回起動時の時間も新しいHDDのせいか、かなり速いです。PhotoshopCS4の起動もXPのときと比べて体感できるほど向上してます。まぁ、これはSuper Fetchが効いているんでしょうけど・・・

PhotoshopCS4の64bitバージョン、2000万画素程度の画像ではあまり恩恵はないかもしれません(^^; ただ、Camera Rawで現像するときは若干速く感じましたけど・・・。

32bitのアプリケーションの動作もほとんど問題なしで、わざわざXPモードを使わなければならないようなこともなさそうです。XPモードを使わないといけないような、いわば特殊なアプリケーションって、ほとんど業務系アプリかカスタムアプリケーションだと思うので一般人には無縁な気がします。

あとは・・・Webブラウザのアプリケーションは現状64ビットネイティブバイナリ皆無・・・。標準のブラウザIE8でもデフォルトで使用されるのは32bit版のIE8。これについてはFlash Playerなんかのプラグインが64bitバイナリを出してくれないと64bitには移行できないですね・・・。とくにIEは大量にあるサードパーティのActiveXコントロールが64bitに移行してくれないと・・・とりあえずマイクロソフトは自分とこのプラグイン、SilverLightぐらい64bit化してください…

 

解決

一度あきらめた7のインストールですが、原因わかりました・・・。

パソコンに標準でついていた・・・と勘違いしていたIEEE1394のPCIカード、これ抜いたらあっけなくインストール成功・・・。

XPでは、何の不具合もなく使えてたカードなんですが・・・なんで?

Windows 7 Professional

結局64ビット版を導入。アプリ何もいれていないまっさらな状態なせいか、かなりサクサク動いてます(^^

まぁ、とにかく、アプリのインストールとかは明日以降にして、寝ます(^^;;;

hardware error

今日、Windows7インストールしてみました。

新しいHDDを接続して、64bit版のDVD-ROMから起動、インストールが順調に進み、再起動を促す画面で、再起動をクリックすると・・・以下のようなエラーが出てシステム停止。2年間このPCを使ってきましたがブルースクリーン出たの、今日初めて。

==============================
Hardware Malfunction
Call your hardware vendor forsupport
NMI:Parity Check/Memory Parity Error
The system has halted
==============================

電源落とし、再起動。Windows7のインストール画面にもどり、画面解像度が1920×1200に変わり、「これで終了かな?」と思っているといきなりモニターが真っ黒。ウンともスンともいいません。

気を取り直し、32bit版でインストール。・・・・おなじく、Hardware Malfunction … のエラー。

メーカーで公開されているBIOSのアップデートをしてみたけど同じ。メモリを変えてみても同じ。

結局 ブート時、以前のOS(XP) を選択してXPを起動。起動しているXPから32bit版をインストールしてみたが・・・インストールの最終処理まではなんとかいくんですが、その途中で上記、ハードウェアエラー。

お手上げです(笑)

エラーを単純に見ると、メモリが壊れているから交換しろ、ということなんでしょうけど、XPでは問題なく動いているんですよね・・・。

諦めました。当分XPで我慢します。 また来年新しいパソコン買いたいと思います(^^;;;