2012-02-10 5 views
2

数年前、私はWindowsアプリケーション開発者でした。 ここ数年、私はカーネルとシステムソフトウェアを扱っています。 Now: 固有の機能を持つ64ビットC/C++アプリケーションがあることを私に伝えている顧客がいます。この機能は、ドングル要求 であり、外部の32ビットDLLから提供されます。 彼はメモリに DLLを見ることができませんが、この機能は提供されていると言います。 DLLを削除すると、64ビットアプリケーションがまだロードされています。32ビットDLLを静的に(!)64ビットC/C++ウィンドウアプリケーションにリンクするには?

つまり、32ビットDLLは64ビットアプリケーションの静的な部分です。

これは本当ですか?

もしそうなら、どうすればVisual Studioでそれを達成できますか?動的または静的に64ビットアプリケーション(またはその逆)から32ビットのDLLをロードすることは不可能であるStackOverflow.com上で発見したものに基づいて

よろしく Burkhardtの

+0

私はあなたが記述しているものを信じないは直接的な意味で可能です。当社の製品(64ビット実行時)は、32ビット実行可能ファイルを使用して、必要なときに32ビット操作を実行します。必要に応じて、名前付きパイプ経由で64ビットのクライアントDLLと通信します。 – Benj

+1

これはアーキテクチャ上の解決策ですが、メモリ内に32ビットのdllがあることがわかります。しかし、アプリケーションをロードして、32ビットDLLへの統計的なリンク(!)にならないようにすることができます。また、メモリ内で見つけることができないため、動的にはロードされません(LodLibrary ..())。 – user1202262

答えて

関連する問題