ctypesを使用してDLLの特定のインスタンスを使用できますか?基本的に私のアプリケーションは次の通りです: C#DLLとC#WPFフロントエンドからアクセスするC DLLがあります。私はctypesを使って別のラッパーを書いてC DLLに直接アクセスし、C#を一緒にバイパスしました。ctypesでDLLの特定のインスタンスを使用
現在、私たちのプログラムで内部IronPythonウィンドウを使用して、ユーザーがPythonでスクリプトを作成できるようにし、中間のC#レイヤーとそれを介してC dllに接続します。 IronPythonの限界のために、私は、私のライブラリを使ってCのdllに直接アクセスできるPythonコードをユーザが書くことを可能にすることが可能かどうかを見たいと思っていますが、C#同期されました。これはリモートでも可能ですか?
したがって、問題は、DLLの同じインスタンスをロードすることです。たとえば、int変数を格納するfooという内部変数を持つC DLLがあり、C#からfooを設定してからfooをPythonから取得すると、同じfooになります。 – zaknotzach
試しましたか? Windowsは実際に同じDLLの* de novo *インスタンスを提供しますか?私は非常に同じDLLを1回のプロセスで2回読み込むことは、その1つのコピーにしかならないと考えていたでしょう。 –
はい、たとえば、ライブラリをctypesで2回ロードした場合、そのうちの1つの値を変更する関数を実行し、両方の値が1つのインスタンスでのみ変更されたため、異なる値になります。 – zaknotzach