0
に** voidにそれをキャストするポインタのアドレスを見つけるために、どのように
C++での私のコードは構造とCFFI
StructureEx* obj; // structure
functionEx((void**)&obj);
で、私の機能は、私がCFFIに新しいです
int functionEx(void** obj); //calling function
です。だから私の質問は
どのように私はCFFIで同じことを達成できますか?
CFFIの構造体へのポインタのアドレスの検索方法は?
私はvoid**
にキャストすることを知っているが
ffi.cast("void*",address)
によって行うことができる。しかし、どのように私は、そのアドレスを取得し、関数に渡すことができますか?
、このような明確な説明のためにあなたにHakalaをありがとうございます。 あなたは、私はそれが私を示し変数 struct_object ための構造のメモリを割り当てた)下記の特定のケースが 1を動作するかどうか私に説明していただけます 2)は、ボイドを作成しました**変数 void_object = cfg_cffi.ffi.new( "void **") 3)struct変数のメモリをvoid ** に割り当てます。void_object [0] = struct_object 4)関数のためにvoid_object [0]を渡します プログラムはエラーなく動作しますが、implemに応じて特に失敗した-1を返します。 –
Ash
'void_object [0]'の代わりに 'void_object'を渡してみましたか? –
@ハカラ...それは動作します。どうもありがとう... – Ash