文字列ステータスを頻繁に使用するサードパーティのCAPIをバインドしています。例(擬似コード):
ffi.cdef [[
struct Reply { char * str; size_t len };
Reply * doSomething();
void freeReply(Reply * p);
]]
ほとんどの場合str
、"OK"
文字列になります。
それをチェックする最速の方法は何ですか?
ここでは文字列のインターンを避けたいと思います。
local reply = ffi.gc(ffi.C.doSomething, ffi.C.freeReply)
assert(ffi.string(reply.str, reply.len) == "OK")