c++接口導出到Lua中

Lua中要使用c++函數 對象和調用成員函數,能夠使用sol2庫c++

sol2庫主要使用 模版元編程來生成代碼,編譯時間比較長,也能夠只使用sol2的 stack 相關API,減小模版生成時間編程

導出的基本流程:函數

1: LuaState 初始化oklua

2: 初始化sol2的state,能夠使用sol2的 state_view 接口,和現有的lua API協同工做對象

3:註冊不一樣的類和函數接口

sol2 new_usertype 綁定特定的c++類型到lua中, 能夠將成員函數 以及c++ lambda 表達式,存儲到table中編譯

sol2 table 獲取某個table ,設置table的 某個變量爲c++ 函數,將c++函數綁定到 Lua中table

不管是c++類型,仍是lua全局狀態,sol2都是一個table變量

經過設置table的 成員變量來綁定 lambda

相關文章
相關標籤/搜索