私の問題は、変更できない32ビットDLLがあることです。DLLは、通常の操作で約1.5ギガ程度のメモリを必要とする場合があります。
C ++ /アンマネージコードテストプログラムを使用すると、DLLは約2ギガでメモリ不足になります。これは、32ビットプロセスで使用可能な最大サイズであるため、予想されます。したがって、DLLは通常の操作で正常に動作します。
それ自体が約250MBかかるC#アプリケーションからDLLをIP /呼び出しすると、プロセス全体が約1.4ギガに達するとDLLがエラーになります。私の質問は、P / Invokeが32ビットプロセスで使用するメモリを少なくすることですか?もっとあげる方法はありますか?
編集:P / Invoked関数は、実際には私のメインによって参照されているC#アセンブリから呼び出されます。これが何らかの形で関連しているかどうかはわかりません。