Looking for lua Answers? Try Ask4KnowledgeBase
Looking for lua Keywords? Try Ask4Keywords

LuaIntroducción a la API de Lua C


Sintaxis

  • lua_State * L = lua_open (); // Crear un nuevo estado de máquina virtual; Lua 5.0
  • lua_State * L = luaL_newstate (); // Crear un nuevo estado de máquina virtual; Lua 5.1+
  • int luaL_dofile (lua_State * L, const char * filename ); // Ejecutar un script de lua con el nombre de archivo dado usando el lua_State especificado
  • void luaL_openlibs (lua_State * L); // Cargar todas las bibliotecas estándar en el lua_State especificado
  • void lua_close (lua_State * L); // Cerrar el estado de VM y liberar cualquier recurso dentro
  • void lua_call (lua_State * L, int nargs, int nresults); // Llame al luavalue al índice - (nargs + 1)

Observaciones

Lua también proporciona una API de C adecuada para su máquina virtual. Al contrario de la máquina virtual en sí, la interfaz de la API C está basada en la pila. Por lo tanto, la mayoría de las funciones que se pretenden utilizar con los datos es agregar algunas cosas en la parte superior de la pila virtual o eliminarlas. Además, todas las llamadas a la API deben usarse con cuidado dentro de la pila y sus limitaciones.

En general, cualquier cosa disponible en el lenguaje Lua se puede hacer usando su API C. Además, hay algunas funciones adicionales como el acceso directo al registro interno, el cambio de comportamiento del asignador de memoria estándar o el recolector de basura.

Puede compilar los ejemplos proporcionados de la API de Lua C ejecutando lo siguiente en su terminal:

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

Introducción a la API de Lua C Ejemplos relacionados