*.luaフィアルをexeにする [#uf4b1cf4]

**srLua (Lua5.0~Lua5.3用。バージョン依存性があまりありません。) [#i77be505]
**srlua (Lua5.0~Lua5.3用。バージョン依存性があまりありません。) [#i77be505]
-Lua言語の使用目的という意味では、exe化することは目的から逸脱しているとおも言えますが、
場合によっては.exeとして配布したい、ということもあるものです。
~
そのような時、[[srlua>http://luaforge.net/projects/srlua/]]が活躍します。~
~
-srluaとは~
srluaは、いくつ

。~
一度チャンク化しますので、luaソース内にコメントなどが書かれていても影響しません。~
-srluaとglue~
~

-Pre-Loading~
複数の依存した.luaファイルをコンパイルしたものを実行する際には、~
どのモジュールを先に実行しなければならないか、~
という問題があります。~
.luaでいう
#sh(lua){{
require "hogehoge"
}}
というものを実行するためには、すでにhogehogeに相当するものが''Luaステート上''に存在する必要があるからです。~
このような順番の問題を解決するためのツールがpreloader.luaです。

**bin2c (Lua5.0~Lua5.3) [#r20a7d1e]
-このツールは、Lua5.0までは同封されていたツールとなります。
#sh(lua){{
luac script.lua -o script.luac
bin2c script.luac > strict_code.c
}}
のように利用します。~
luacが無い環境の場合は、[[Luac]]のページを参照してください。~
|srlua.exe|自分自身(srlua.exe)の最後に(一種リソース的に)くっついているテキストデータをluaファイルとみなして実行する特殊なluaインタプリタ。|
|glue.exe|srlua.exe と 1つ以上のluaファイルをsrlua.exeの最後にくっつける。|
~
-bin2cが無い場合は、
#ref(http://lua.tips/download/tool/bin2c.lua)を利用してください。~
luac.luaやbin2c.luaを使った場合のコマンドは
#sh(lua){{
lua luac.lua script.lua -o script.luac
lua bin2c.lua script.luac > strict_code.c
}}
となります。
~
C言語側で実行したい行で、出力されたCソース(先述の例ならstrict_code.c)をインクルードします。
-srlua.exe~
srluaは、ソースで提供されています。~
ただし、「lua.c」に替わる「srlua.c」だけが提供されていますので、残りはご自身で利用しているluaインタプリタのソースからコンパイルする必要があります。~
~
ちょうど、lua.exe を作成するのと同じ要領で、lua.c ではなく、srlua.c を main関数部として
コンパイルすることとなります。~
~
-glue.exe
もうひとつは「glue.exe」というコマンドを作成するためのものです。~
これは、srlua.exe と 1つ以上の.luaファイルを連結して、1つのexeファイルにするためのコマンドです。~


トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS