lua安全之關於lua擴展第三方庫

android lua require第三方擴展庫有三種方式:

 

1. 用c實現獨立的lua模塊作爲android的第三方動態庫來引入,優點是lua擴展庫獨立方便更新替換,缺點是需要修改虛擬機,開啓宏支持dlopen調用的方式,並且還需要設置lua尋找so路徑才能正確加載。具體操作流程看這裏

2. 用c實現lua模塊作爲lua虛擬機動態庫的一部分,優點代碼實現簡單方便,缺點是需要修改虛擬機,不方便lua虛擬機的更新替換。具體操作流程看這裏

3. 用c實現獨立的lua模塊,在c層或者其他層使用lua虛擬機模塊的導出函數來註冊lua模塊,優點是方便虛擬機的更新替換,缺點是lua拓展庫更新替換不方便,若lua拓展庫更新並不頻繁可採用此種方法,具體步驟分爲:

    a. 利用luaL_newlib和luaL_Reg來實現lua模塊

    b. 利用luaL_requiref來註冊lua模塊

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章