なぜ LUA を EXE に変換するのですか?
Lua がインストールされていないユーザーに .lua スクリプトを配布するには、ランタイムをスクリプトと一緒にバンドルする必要があります。.exe にパッケージ化することで、ツールを通常の Windows アプリケーションとして提供でき、ターゲットマシンに Lua がインストールされている必要がなくなります。
LUA から EXE への変換方法
srlua FREE
「glue.exe lua.exe yourscript.lua output.exe」を実行して、スクリプトを軽量化された Lua ランタイムと共に自己完結型の .exe にバンドルします。ネイティブ C ライブラリを 「require」 するスクリプトの場合、それらの .dll ファイルを実行可能ファイルと同じ場所に配置する必要があります。
luastatic FREE
「luastatic yourscript.lua liblua.a -I/path/to/lua/include」を実行して、スクリプトとその Lua 依存関係をネイティブ実行可能ファイルに静的リンクします。LuaRocks と MinGW などの C コンパイラが必要です。
これらの形式について
LUAファイルは、1993年に作成された軽量スクリプト言語であるLuaで記述されたソースコードです。VS…
.LUA の詳細を開く →EXEファイルはWindowsの実行プログラムです。Windowsでは、ダブルクリックして実行します。MacやLinuxでは、CrossOverやWineを使用してください。EXEはWindows以外ではネイティブに動作しません。EXEはWindowsにおけるマルウェア配布の最も一般的な形式であるため、信頼できるソースからのファイルのみを実行してください。
.EXE の詳細を開く →品質と注意点
- srlua は元の Lua ソースを
.exe内に埋め込みます。スクリプトはバイナリエディタで抽出可能です。luastatic はネイティブコードにコンパイルするため、不可能ではありませんがリバースエンジニアリングがより困難になります。 - 外部の Lua モジュールやネイティブの
.dllファイルは srlua によって自動的にバンドルされないため、.exeと共に配布する必要があります。 - Linux または macOS 上の luastatic は、
.exeではなく ELF または Mach-O バイナリを生成します。正しいバイナリタイプを取得するには、ターゲットプラットフォーム上でビルドしてください。
よくある質問
.exe を実行するためにターゲットマシンに Lua をインストールする必要がありますか?
srlua と luastatic の違いは何ですか?
外部ライブラリを使用するスクリプトをバンドルできますか?
.dll ファイルを .exe の隣に配置する必要があります。