Just another update
This commit is contained in:
parent
a25938f123
commit
00a190b0a6
6591 changed files with 94363 additions and 23227 deletions
|
|
@ -0,0 +1,14 @@
|
|||
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)
|
||||
local s_s1 = ffi.C.strlen(s1)
|
||||
print("strlen: " .. s_s1)
|
||||
|
||||
local s2 = ffi.string(ffi.C.strndup(s1, s_s1), s_s1)
|
||||
print("Copy: " .. s2)
|
||||
print("strlen: " .. ffi.C.strlen(s2))
|
||||
|
|
@ -9,7 +9,7 @@
|
|||
:- implementation.
|
||||
|
||||
% The actual FFI code begins here.
|
||||
:- pragma foreign_decl("C", "char *strdup(const char *s);").
|
||||
:- pragma foreign_decl("C", "#include <string.h>").
|
||||
|
||||
:- func strdup(string::in) = (string::out) is det.
|
||||
:- pragma foreign_proc("C", strdup(S::in) = (SD::out),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue