这篇文章主要介绍了Lua教程(十七):C API简介,本文讲解了基础知识、栈、C API中的错误处理、Lua调用C程序、C程序调用Lua代码的错误处理等内容,需要的朋友可以参考下
Lua是一种嵌入式脚本语言,即Lua不是可以单独运行的程序,在实际应用中,主要存在两种应用形式。第一种形式是,C/C++作为主程序,调用Lua代码,此时可以将Lua看做“可扩展的语言”,我们将这种应用称为“应用程序代码”。第二种形式是Lua具有控制权,而C/C++代码则作为Lua的“库代码”。在这两种形式中,都是通过Lua提供的C API完成两种语言之间的通信的。
1. 基础知识:
C API是一组能使C/C++代码与Lua交互的函数。其中包括读写Lua全局变量、调用Lua函数、运行一段Lua代码,以及注册C函数以供Lua代码调用等。这里先给出一个简单的示例代码:
#include
#include
#include
#include
#include
int main(void)
{
const char* buff = "print(\"hello\")";
int error;
lua_State* L = luaL_newstate();
luaL_openlibs(L);
error = luaL_loadbuffer(L,buff,strlen(buff),"line") || lua_pcall(L,0,0,0);
int s = lua_gettop(L);
if (error) {
fprintf(stderr,"%s",lua_tostring(L,-1));
lua_pop(L,1);
}
lua_close(L);
return 0;
}
以上就是Lua教程(十七):C API简介的详细内容,更多请关注0133技术站其它相关文章!