DllImport
XCode の ARC リファクタリングにより、私の Cocoa ライブラリ DLL は強制的に 64 ビットになりましたが、x86 C# アプリケーションからその DLL を引き続き使用できるかどうかわかりません。これは可能ですか?そうすることで何か影響がありますか?
10010 次
3 に答える
8
1 つのプロセスで 32 ビット コードと 64 ビット コードを混在させることはできません。したがって、混合ビットコードを使用する唯一の方法は、複数のプロセスを持つことです。それを機能させるには、何らかの形の IPC が必要です。それは進行中なのでできませんDllImport
。
于 2013-03-13T21:39:02.233 に答える
0
問題は実際には C# ではなく、OS のホスティング プロセスです。1 つのプロセスは同じ「ビット数」の DLL しかロードできないため、プロセスが 64 ビットであるか、DLL を直接ロードすることはできません。使用している言語やフレームワークに関係なく。
1 つの解決策は、C# プロジェクトをターゲットにして「任意の」CPU を使用するか、特に X64 を指すようにすることです。
もう 1 つの解決策は、IPC または同様のモデルを使用して通信できるホスティング プロセスを作成することです。
于 2013-03-13T21:40:15.613 に答える
0
必要な場合の解決策は、パイプラインなどで EXE を呼び出すことです。もちろん、これは 64 ビット Windows を前提としています。そうでない場合は、パントします。
于 2013-03-13T21:40:28.523 に答える