require("import") -- the import fn import("funcptr_cpp") -- import lib into global fc=funcptr_cpp --alias -- catching undefined variables local env = _ENV -- Lua 5.2 if not env then env = getfenv () end -- Lua 5.1 setmetatable(env, {__index=function (t,i) error("undefined global variable `"..i.."'",2) end}) assert(fc.addByValue(5,10) == 15) -- These two won't work. Lua will successfully store the answer as userdata, but there is -- no way of accessing the insides of userdata. -- assert(fc.addByPointer(7, 9) == 16) -- assert(fc.addByReference(8, 9) == 17) assert(fc.call1(fc.ADD_BY_VALUE, 5, 10) == 15) assert(fc.call2(fc.ADD_BY_POINTER, 7, 9) == 16) assert(fc.call3(fc.ADD_BY_REFERENCE, 8, 9) == 17) assert(fc.call1(fc.ADD_BY_VALUE_C, 2, 3) == 5)