LuaIntroduction à l'API Lua C


Syntaxe

  • lua_State * L = lua_open (); // Crée un nouvel état de VM; Lua 5.0
  • lua_State * L = luaL_newstate (); // Crée un nouvel état de VM; Lua 5.1+
  • int luaL_dofile (lua_State * L, const char * filename ); // Exécuter un script lua avec le nom de fichier donné en utilisant le lua_State spécifié
  • annuler luaL_openlibs (lua_State * L); // Charge toutes les bibliothèques standard dans le lua_State spécifié
  • annuler lua_close (lua_State * L); // Ferme l'état de la VM et libère les ressources à l'intérieur
  • void lua_call (lua_State * L, int nargs, int nresults); // Appelle la luavalue à l'index - (nargs + 1)

Remarques

Lua fournit également une API C correcte à sa machine virtuelle. Contrairement à la VM elle-même, l'interface de l'API C est basée sur la pile. Ainsi, la plupart des fonctions destinées à être utilisées avec des données consistent à ajouter des éléments sur la pile virtuelle ou à en retirer. De plus, tous les appels d'API doivent être utilisés avec soin dans la pile et ses limites.

En général, tout ce qui est disponible sur le langage Lua peut être fait en utilisant son API C. En outre, il existe des fonctionnalités supplémentaires telles que l'accès direct au registre interne, le changement de comportement de l'allocateur de mémoire standard ou du garbage collector.

Vous pouvez compiler les exemples d'API Lua C fournis en exécutant les opérations suivantes sur votre terminal:

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

Introduction à l'API Lua C Exemples Liés