¿Cómo incrustar un script Lua dentro de un binario C?
Me han echado a perder en el mundo de los shell donde puedo hacer:
./lua <<EOF
> x="hello world"
> print (x)
> EOF
hello world
Ahora estoy tratando de incluir un script Lua dentro de una aplicación C que espero crezca con el tiempo. Empecé con un simple:
const char *lua_script="x=\"hello world\"\n"
"print(x)\n";
luaL_loadstring(L, lua_script);
lua_pcall(L, 0, 0, 0);
Pero eso tiene varios inconvenientes. Principalmente, tengo que escapar de los avances de línea y citas. Pero ahora estoy golpeando lastring length ‘1234’ is greater than the length ‘509’ ISO C90 compilers are required to support
advertencia al compilar con gcc y me gustaría mantener este programa no solo autónomo sino portátil para otros compiladores.
¿Cuál es la mejor manera de incluir un gran script Lua dentro de un programa en C y no se envía como un archivo separado al usuario final? Idealmente, me gustaría mover el script a un archivo * .lua separado para simplificar las pruebas y cambiar el control, y tener ese archivo compilado de alguna manera en el ejecutable.