CAD日記

主にAutoCADのことについて書いているけど、近頃は投資系ネタに注力している。自動売買、仮想通貨、PC関係、プログラミングなど。@caddiary

コンピュータ全般

アプリの64bit化

投稿日:

アプリの64bitアプリ化が進んでいる。
メリットを以下で整理してみる。
1.実装メモリーを無駄なく使用できて、大きいファイル(特に画像ファイル)を
 扱うときに、メモリー不足による動作制限がほぼなくなる
2.64bit OSで32bitアプリを動作させるためのオーバーヘッドがなくなり、
 多少速くなるらしい
3.なんだかスゴいらしいという評判を得ることができる
これを得るためには、プログラムに手を入れる必要がある。
VisualStudioの構成マネージャーでx64をつくって、ビルドすることから
始めるわけだが、すんなりとビルドが通ることはない。
1.ポインタが64bitになったため、ポインタをint・long・DWORDなどに
 キャストしている箇所を、INT_PTR,UINT_PTRに変更する
2.LPARAMが64bitになったため、LPARAMの代わりにLONGを
 使っている場合はLPARAMに変更する
3.WIN32で分岐処理している箇所があれば、WIN64でも有効に
 なるようにし、またWIN64での分岐処理が必要なところもある
普通の関数で実装しているところは問題なくビルドできるが、
Window回りのクラスについてはビルドを通すのに苦労する。
※VisualStudio環境での話
リンクしている外部ライブラリは、64bit版に変更する必要がある。
もし外部ライブラリに64bit版が存在しなければ、その機能を
あきらめるしかない。
たいていのものは存在するが、UNLHA32.dllは名前が示す通り
64bit版がない。
でも、いまどきLZHの圧縮解凍を行わないので機能がなくなっても
問題ないだろう。
32bitアプリと64bitアプリは、同一ソースで実現できる。
ビルド単位を分けてそれぞれビルドすれば、別のバイナリが
出来上がる。
32bitアプリは、32bitOSと64bitOSいずれでも動くが、
64bitアプリは、64bitOSでしか動かない。
速度についてはあまり期待しないほうがよい。
おいらの計測結果では、64bitアプリが32bitアプリよりも
数パーセント程度速くなっただけだった。

-コンピュータ全般
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

Chromeリモートデスクトップがおもしろい!

Windows標準のリモートデスクトップ接続が、Home Editionで使えない(何やらややこしいことをすればできるらしい)ことがわかって、別のリモートツールを使ってみた。それがChromeリモート …

HDD3TBを認識させるのはけっこう困難だぞ

メモリーやハードディスクの容量には壁があって、一定の容量以上を認識させるには新しい環境が必要だったり、ちょっとした工夫・手間が必要になる。500GBのHDDじゃー容量すくねーからと、3TBのものを中古 …

まぎらわしい単位といえば、ディスク容量と通信速度だよなぁ(1)

まぎらわしい単位ってテーマが今朝電車に乗っているときに思いついたので、早速ブログで書いてみよう。 ディスク容量。ディスクというのはCDやDVDやHDDのこと。700MBとか4.7GBとか1TBなんてあ …

no image

サーバー管理

何の因果か、組織内のサーバーの管理をまかされて10数年が経つ。 サーバーは、Windows Serverで単にファイルサーバーとして利用されている。 総容量が200GBで、残りが20数GBだったことは …

no image

PCの時刻

PCの時刻はたいへんいい加減だ。 1日に1分や2分平気で遅れる。 Windowsにはインターネット時刻というのがあって、 NTPサーバーから正確な時刻を取得することができる。 しかし、デフォルトのti …