Скомпилируйте Lua Code и сохраните байт-код в новом файле

Я знаю, что можно скомпилировать Lua код с использованием LuaC, как описано здесь:

luac - это компилятор Lua. Он переводит программы, написанные на языке программирования Lua, в двоичные файлы, которые можно загружать и выполнять с помощью lua_dofile в C или с помощью dofile в Lua.

Проблема в том, что мне нужно создать приложение в .Net (более конкретно в C#), который получит входные данные нескольких "обычных" *.lua файлов, а затем скомпилирует их все в новые файлы.

2 ответа

loadfile с последующим string.dump по существу, что luac делает.

В итоге мне пришлось вызывать LuaC.exe из моего приложения.

Моим решением было следующее:

string outFile = Path.GetDirectoryName(path) + "\\" + Path.GetFileNameWithoutExtension(path) + ".out";
System.Diagnostics.Process.Start(System.IO.Directory.GetCurrentDirectory() + "\\luac.exe", "-o \"" + outFile + "\" \"" + path + "\"");

path = outFile;
Другие вопросы по тегам