7

.luaを使用して通常のファイルをコンパイルした場合luac、Luaライブラリまたはインタープリターをインストールせずに結果を実行できますか?

4

2 に答える 2

8

いいえ。コンパイラなしでビルドされたバージョンのLuaで実行できますが、コードを実行するにはLuaインタープリターが必要です。

ちなみに、コンパイルされたLuaバイトコードもマシン固有です。つまり、微妙な点(エンディアン、タイプのサイズなど)を理解していない限り、あるアーキテクチャでコンパイルしてから、その出力を別のアーキテクチャで実行することはできません。

于 2012-04-03T00:53:46.037 に答える
2

コードで動的なロードベースの機能 (loadstring、loadfile、require など) を使用しない場合は、Lua ライブラリを VM だけにストリップできます。これは、コンパイラが発行するのはこの仮想マシンで実行されるコードであるためです。これにより、すでに小さい Lua のフットプリントを元の 1/3 に簡単に削減できます。

ただし、これは既存のアーキテクチャのネイティブ バイナリ コードではないため、VM の支援なしに直接実行することはできません。

于 2012-04-12T13:05:09.037 に答える