我正在使用 FFI gem 转换 C 库。
其中一个结构具有一个属性,具体取决于另一个结构的大小。
class MipInterface < FFI::Struct
layout(
:state, :uchar,
:port_handle, :pointer,
:input_buffer, RingBuffer,
:input_buffer_bytes, a(MipHeader.size+255+2).u8
)
end
我不知道如何将a(MipHeader.size+255+2).u8
零件转换为 ruby 和 ffi 可以理解的东西。
错误是:
NoMethodError: undefined method `a' for MipSdk::MipInterface:Class
如果我改为:
:input_buffer_bytes, MipHeader.size+255+2
然后我有这个错误:
TypeError: unable to resolve type '261'