Skip to content

Commit 6f486ce

Browse files
committed
luajit.cpp
1 parent 76cb5f1 commit 6f486ce

3 files changed

Lines changed: 37 additions & 1 deletion

File tree

section4/lua_shared.cpp

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// Copyright (c) 2020 by Chrono
2+
//
3+
// g++ lua_shared.cpp -std=c++11 -shared -fPIC -o lua_shared.so
4+
// g++ lua_shared.cpp -std=c++14
5+
6+
#include <luajit-2.1/luajit.h>
7+
8+
extern "C" {
9+
10+
int my_add(int a, int b);
11+
12+
}
13+
14+
int my_add(int a, int b)
15+
{
16+
return a + b;
17+
}

section4/luajit.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
#include <iostream>
88

9-
//#include "std.hpp"
9+
#include <luajit-2.1/luajit.h>
1010

1111
int main()
1212
{

section4/shared.lua

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/usr/local/bin/luajit
2+
3+
local ffi = require "ffi"
4+
5+
local ffi_load = ffi.load
6+
local ffi_null = ffi.null
7+
local ffi_cdef = ffi.cdef
8+
local ffi_typeof = ffi.typeof
9+
local ffi_new = ffi.new
10+
local ffi_C = ffi.C
11+
12+
ffi_cdef[[
13+
int my_add(int a, int b);
14+
]]
15+
16+
local shared = ffi_load("./lua_shared.so")
17+
18+
local x = shared.my_add(1, 2)
19+
print(x)

0 commit comments

Comments
 (0)