#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
/* 庫 open 函式的前置宣告 */
int luaopen_mylib(lua_state *l);
static int l_sin (lua_state *l)
static const lual_reg mylib =
, /* 必須以null結尾 */
};int luaopen_mylib(lua_state *l)
如果是.cpp檔案,在luaopen_mylib一定要加 extern "c", 否則匯出的函式會被重新命名,切記切記
編譯:gcc mylibs.c -fpic -shared -o libmylib.so -llua
makefile檔案
cxx =gcc
libname:=libmylib.so
hdrname:=mylibs.c
targetname:=mylibs
cname:=$(patsubst %,%.c,$(targetname))
oname:=$(patsubst %,%.o,$(targetname))
all:libmylib
libmylib: $(oname)
$(cxx) -g -shared -wl,$(libname) \
-o $(libname) $(oname) -llua
%.o: %.c
$(cxx) -fpic -c -wall $(cname)clean:$(rm) *.o *.so
lua呼叫指令碼:
local one, two, three = package.loadlib("libmylib.so", "luaopen_mylib")()
print(mylib.lsin(10))
Linux下安裝PHP的lua擴充套件庫
以前用lua做遊戲伺服器,最近在折騰php,想用php引用一些lua的東西,或者用php寫一些lua的東西,方便lua引用,找到了php原來有lua的擴充套件庫,現在將使用記錄下來,因為發現資資並不多 正文開始 確認lua是否安裝,沒有安裝請自己找安裝教程,網上比較多。以下確認lua的版本,我的是5...
Lua擴充套件
lua作為配置檔案使用 win conf.lua 定義視窗大小 width 200 height 300使用lua api分析這個檔案,並獲取width和heightvoid load lua state l,const char fname,int w,int h table操作 lua 5.1提...
linux下So覆蓋導致coredump問題的分析
感謝這位大神,我剛好遇到這個問題 嘗試解答以下問題 1.為什麼cp的方式更新執行中程序的so,程式會coredump 2.採用什麼方式更新已經載入了的so,就可以避免coredump 我們的公共元件絕大部分都支援so形式的自定義外掛程式,比如s qzhttp,ttc。在不停程序更新so的時候往往會產...