パソコン・メモメモ備忘録

気の向くままパソコン関係等で気になることを書き記す。時々更新!

今日の引っかかり

VC++.Net2003 で、というか WindowsXPSP2 で、一度に大きいメモリ領域を new や malloc で確保しようとすると失敗してしまった。これはよくある話で、一部の dll がメモリ空間上の特定の位置に居座るため、空きメモリ空間が分断されているのが原因らしい。

まず、そういうdllのなかでメジャーなのは、IME だそうな。WinMain の頭にでも ImmDisableIME(NULL) とか入れると IME は使えなくなるが、連続領域が確保できるようになるらしい。

今回、700MB余りを確保しようとして、上記 TIPS も入れてみたがダメだった。で、VC++デバッグで、モジュール一覧を表示してみると、JWord(IE のアドレスバーの拡張もの?)の dll、CnsMin.dll がいやらしい場所に居座っていた。面倒なので、JWord をアンインストール。再起動後、無事にメモリが確保できるようになった。

JWord日本語ドメインをIEで使うのに役立ってはいたのだが(実は日本語ドメインを一つ確保している私...)。IE 拡張系の dll はやっかいなのだろうか。