1

C ++クラスライブラリと、ライブラリを使用するC#のWindowsアプリケーションがあります。

32ビットWindowsではうまく機能しますが、64ビットWindowsでは機能しませんBadImageFormatException

C ++クラスライブラリのプラットフォームを変更しようとしましたが、WIN32からWIN64に変更できません。

次の質問のいずれかでこの問題を解決できると思います。

  1. WIN32ライブラリをWIN64ライブラリに変換する方法はありますか?
  2. C ++ライブラリを使用せずにC#でC ++関数を呼び出す別の方法はありますか?
  3. 64ビットアプリケーションでWIN32ライブラリをロードすることは可能ですか?
4

1 に答える 1

4

WIN32ライブラリをWIN64ライブラリに変換する方法はありますか?

ライブラリを64ビットライブラリとして再構築(再コンパイル)します。

64ビットアプリケーションでWIN32ライブラリをロードすることは可能ですか?

いいえ。64ビットWindowsのプログラミングガイドから:

... 32ビットプロセスは実行のために64ビットDLLをロードできず、64ビットプロセスは実行のために32ビットDLLをロードできません。

于 2012-10-29T15:27:06.367 に答える