getting an embedded Lua hello world C program working.
All of the examples I found on the internet didn't work for me.
as that was also not obvious. Below is what worked for
me on my Linux box.
Make the linux version:
$ make linux
Add the hello_world.c program below to the root of lua source tree
and compile:
$ gcc hello_world.c -o hello_world -I src/ -L src -llua -ldl -lm
Run:
$ ./hello_world
Yo dude
I'm here too
Hello world, from Lua 5.1!
// The hello program
#include <stdio.h>
#include "src/lua.h"
#include "src/lualib.h"
#include "src/lauxlib.h"
int main(int argc, char *argv[]) {
// Open lua
lua_State *L = lua_open();
// Load the libraries
luaL_openlibs(L);
// Execution of a lua string
luaL_dostring(L, "print \"Yo dude\"");
// Load a string and then execute it.
luaL_loadstring(L, "io.write(\"I'm here too\\n\")");
lua_pcall(L, 0, LUA_MULTRET, 0);
// Load from a file and then execute
if (luaL_loadfile(L, "test/hello.lua") == 0) {
// File loaded call it
lua_pcall(L, 0, LUA_MULTRET, 0);
}
// Close lua
lua_close (L);
return 0;
}