Anonymous user
Call a foreign-language function: Difference between revisions
Add Lua (LuaJIT) solution
m (→{{header|Mercury}}: #include <string.h> rather than declrare strdup) |
(Add Lua (LuaJIT) solution) |
||
Line 688:
`free(@p)`;
);</lang>
=={{header|Lua}}==
Using the [http://luajit.org/ext_ffi.html FFI library] available in [http://luajit.org/ LuaJIT]:
<lang lua>local ffi = require("ffi")
ffi.cdef[[
char * strndup(const char * s, size_t n);
int strlen(const char *s);
]]
local s1 = "Hello, world!"
print("Original: " .. s1)
s_s1 = ffi.C.strlen(s1)
print("strlen: " .. s_s1)
s2 = ffi.string(ffi.C.strndup(s1, s_s1), s_s1)
print("Copy: " .. s2)
print("strlen: " .. ffi.C.strlen(s2))
</lang>
=={{header|Maple}}==
|