2012-12-23 17 views

答えて

9
local ffi = require 'ffi' 

ffi.cdef [[ 
    struct Foo { int dummy; }; 
    int tryToAllocateFoo(Foo ** dest); 
]] 

local theDll = ffi.load(dllName) 

local pFoo = ffi.new 'struct Foo *[1]' 
local ok = theDll.tryToAllocateFoo(pFoo) 

if ok == 0 then -- Assuming it returns 0 on success 
    print('dummy ==', pFoo[0].dummy) 
end 
+1

なるほど! 2番目の '* 'の代わりに' [1] 'を使う必要があります!意味をなさないが、慣れるまでに時間がかかる。 –

関連する問題