64-bit 版 ActiveBasic は日々完成度を高めているようで、山本様からも割と頻繁にアナウンスされていますね。
β版の公開が待ち遠しいです。(ウチにはまだ64PC無いんだけどねorz)
その 64-bit プログラミングの大きな改善点は、なんといってもポインタ型のサイズが 64-bitに拡大されることでしょう。
それにより 32-bit の限界である4ギガバイトの壁を克服し、理論最大値16エクサバイトという広大なメモリ空間を存分に使えるようになります。
(普通は 4GB も使わんだろ!なんて言わないでね)
さて、そのポインタについて。
ABには
TYPEPtr というポインタ型が組み込まれており、ポインタを扱いたいときは参照先の型に応じて DWordPtr などと指定するのですが、ではポインタへのポインタを扱いたい場合はどのようにすればよいのでしょうか?
というのも、
ポインタ型はすべてDWordからQWordに置き換えられます。ポインタ型データをDWord型変数に代入して演算を行うようなコードはバグの原因になりますので、注意が必要です。
from
here.
とのこと。以前は「ポインタへのポインタ」=「32bit値へのポインタ」=「DWordPtr」が確実に成立していたのですが、今後はこの手法が利用できなくなりそう。。。
(実はこの手法、ライブラリの中でも利用されていてちょっぴりオフィシャルな気分。)
自分でいくらか考えてみたのですがどれも回りくどくて納得がいかず、まだ答えが見つかりません。
僕の思考力ではもう限界のようです。皆様の知恵をお貸しください。
「16-bit -> 32-bit 移行期はこうして乗り切ったぞ」など、経験的な情報もお待ちしております。