Linux下Lua擴充套件so

2021-06-06 08:09:04 字數 1116 閱讀 7928

#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的時候往往會產...