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