Para hacer ejecutable del uso de la escritura utilidad bin2c tal manera:
luac script.lua -o script.luac
bin2c script.luac > code.c
A continuación, cree en el editor de texto archivo main.c y compilar/enlazar con su compilador favorito. Eso es. (Nota - ejecutable también es compatible con la línea de comandos args)
Ejemplo con MSVC:
cl /I "./" /I "$(LUA_DIR)\include" /D "_CRT_SECURE_NO_DEPRECATE" /D "_MBCS" /GF /FD /EHsc /MD /Gy /TC /c main.c
ld /SUBSYSTEM:CONSOLE /RELEASE /ENTRY:"mainCRTStartup" /MACHINE:X86 /MANIFEST $(LUA_DIR)\lib\lua5.1.lib main.obj /out:script.exe
mt -manifest $script.manifest -outputresource:script.exe;1
Uso/SUBSYSTEM: WINDOWS para ejecutable GUI. Todo eso no es fácil, solo por primera vez, puede crear un archivo por lotes para automatizar el proceso una vez que lo haya probado con éxito.
main.c:
#include <stdlib.h>
#include <stdio.h>
#include "lua.h"
#include "lauxlib.h"
#include "lualib.h"
int main(int argc, char *argv[]) {
int i;
lua_State *L = luaL_newstate();
luaL_openlibs(L);
lua_newtable(L);
for (i = 0; i < argc; i++) {
lua_pushnumber(L, i);
lua_pushstring(L, argv[i]);
lua_rawset(L, -3);
}
lua_setglobal(L, "arg");
#include "code.c"
lua_close(L);
return 0;
}
Lamentablemente, srlua no funcionó para mí. La solución con luac/bin2c a continuación trabajó – Zane
srlua distribuye binarios en su github repo- https: // github.com/LuaDist/srlua Funcionó bastante bien para mí: 'glue.exe srlua.exe my.lua my.exe' – noahp