无限制浏览:地址
来往来往,有来有往才能叫做来往。既然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++作为一家之长,当然也就需要主动一点。废话少说,代码说话。
LuaCallCFun.lua
local x=123
local y=456
print("lua: x(" .. x .. ") + y(" .. y .. ") = " .. cf_Add(x, y))
LuaCallCFun.cpp
#include <lua.hpp>
int cf_Add(lua_State *L)
{
int x = lua_tonumber(L, 1)