8 Lua中呼叫C 函式

2021-08-09 06:22:28 字數 708 閱讀 7733

來往來往,有來有往才能叫做來往。既然c/c++和lua是好親戚,那就會有來有往。之前,我們一直在討論在c/c++中如何使用lua提供的變數和函式。從這篇文章開始,咱們來討論一下如何在lua中使用c/c++提供的變數、函式甚至類。

當然,我們還是假設lua是嵌入c/c++程式裡面的。所以,使用lua依然是為了擴充套件c/c++。這個目的一定要先明確了。接下來的事情就比較容易了。

既然,想讓lua呼叫c/c++的函式。首先,肯定是讓lua知道c/c++函式的存在,然後才能呼叫。再次明確一下我們使用lua是為了擴充套件c/c++的。就像乙個家庭一樣,c/c++作為一家之長,當然也就需要主動一點。廢話少說,**說話。

local x=123

local y=456

print("lua: x(" .. x .. ") + y(" .. y .. ") = " .. cf_add(x, y))

#include 

int cf_add(lua_state *l)

int main(int argc, char * argv)

型別

值作業系統

Lua 學習(8) Lua 運算子

運算子是乙個特殊的符號,用於告訴直譯器執行特定的數學或邏輯運算。lua提供了以下幾種運算子型別 算術運算子 關係運算子 邏輯運算子 其他運算子 a 21 b 10 c a b print line 1 c 的值為 c c a b print line 2 c 的值為 c c a b print li...

Lua中呼叫C函式

lua利用乙個虛擬的堆疊來給c傳遞值或從c獲取值。每當lua呼叫c函式,都會獲得乙個新的堆疊,該堆疊初始包含所有的呼叫c函式所需要的引數值 lua傳給c函式的呼叫實參 並且c函式執行完畢後,會把返回值壓入這個棧 lua從中拿到c函式呼叫結果 1 typedef struct lua state lu...

C中呼叫Lua函式

我們先來看乙個簡單的例子 lua state l null 內部呼叫lua函式 double f double x,double y int main void functest.lua f function a,b return a b end 這其中最關鍵的是呼叫函式的使用,在c中呼叫lua函式...