トップ回答者
Excel2007と64bit DLL

質問
-
いつもお世話になっています。
32bit版XPでExcel2007とVC++で作成した32bit版のDLLを組み合わせて使っています。
最近は64bit版のWindows7や8が増えてきて、せっかく4Gを越えたメモリが実装されたPCが手軽に入手できるのだから、上記アプリケーションを64bitにできなかと考えました。
64bit OS上のExcel 2007にVC++で作成した64bit版のDLLを読み込ませようとしたのですが、DLLが見つからないというエラーが出ます。32bit版なら問題なく動きます。
Excel2007は32bit版ですから、やはり32bit版のDLLじゃないと動かないという認識でよろしいのでしょうか?
VC++の話題とは多少違う気もしますが、ご存じでしたらお教えください。
回答
-
OSが64bitOSの場合、64bitアプリと32ビットアプリの両方が実行できます。
ですが、64bitOSだから、32bitアプリでも64bitのDLLを使うということはなく、32bitのアプリなら、OSが64bitでも32bitでもどちらの場合でも、32bitのDLLを必要とします。
もちろん、64bitOS上で、64bitアプリを実行するのであれば、64bitDLLが必要です。
わんくま同盟,Microsoft MVP for Visual C++(Oct 2005-) http://blogs.wankuma.com/tocchann/
すべての返信
-
OSが64bitOSの場合、64bitアプリと32ビットアプリの両方が実行できます。
ですが、64bitOSだから、32bitアプリでも64bitのDLLを使うということはなく、32bitのアプリなら、OSが64bitでも32bitでもどちらの場合でも、32bitのDLLを必要とします。
もちろん、64bitOS上で、64bitアプリを実行するのであれば、64bitDLLが必要です。
わんくま同盟,Microsoft MVP for Visual C++(Oct 2005-) http://blogs.wankuma.com/tocchann/
-
ちなみにOffice 2010や2013では64bit版が提供されていますが、既定では32bit版がインストールされますし、そちらが推奨されているようです。
64bitメモリ空間を扱いたいのかもしれませんが、現状では、必要がない限り32bitをお勧めします。