4

ライブラリ自体から構造を返すいくつかの関数をロードする必要があります。

attach_function 'fn_name', [], # ... What do I put here?

RubyFFI の Wiki ページは古くなっているようで、ここで少し迷っています。

を作成するFFI::Struct方法と、それをネイティブ関数の戻り値の型として指定する方法を教えてください。

4

1 に答える 1

8
class SOME_STRUCT < FFI::Struct 
    layout :a, :float, 
           :b, :float
end

その後

attach_function 'fn_name', [], SOME_STRUCT

スタック割り当て構造体の場合:

typedef struct
{ 
    float a, b; 
} SOME_STRUCT;

これを使用する必要があります:

attach_function 'fn_name', [], SOME_STRUCT.by_value
于 2011-03-21T08:10:29.990 に答える