私はdoxygenが次のように見えるC関数を持っています:
long function( classA * obj1,
classB * obj2,
classC ** obj3,
long value,
const char * name1,
const char * name2,
classD ** obj4,
classD ** obj5,
classD ** obj6
)
Python から呼び出して、最後の 3 つの引数を取得して別の dll に渡す必要があります。現在、DLL を正常に呼び出すことができますが、最後の 3 つの引数を他の関数に渡そうとすると、次のようなエラーが発生します。
WindowsError: exception: access violation writing 0x0000000000000000
私はおそらく ctypes 側で何か間違ったことをしているのでしょう。
2 番目の DLL は次のようになります。
int function2(ClassD * obj4)
そして現在、最後の 3 つの引数を次のように「組み立て」ます。
temp=ctypes.c_long*1
obj = temp(0)
また、ctypes から swig に移行する方法はありますか? どうやら、長い関数を使用して逆の方法で行うことができます。