Lua C API 簡介

Lua 也為它的虛擬機器提供了一個合適的 C API。與 VM 本身相反,C API 介面是基於堆疊的。因此,與資料一起使用的大多數功能是在虛擬堆疊之上新增一些東西,或從中刪除。此外,必須在堆疊中仔細使用所有 API 呼叫,這是它的侷限性。

一般來說,Lua 語言中可用的任何東西都可以使用它的 C API 完成。此外,還有一些附加功能,如直接訪問內部登錄檔,更改標準記憶體分配器或垃圾收集器的行為。

你可以通過在終端上執行以下命令來編譯提供的 Lua C API 示例:

$ gcc -Wall ./example.c -llua -ldl -lm