問題タブ [luajit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
292 参照

c++ - シングルスレッドアプリケーションで複数の lua_State 間でテーブルを共有することは可能ですか?

1 つの Lua スクリプトにテーブルがあり、別の lua_State にロードされている他の Lua スクリプトと共有したいので、そのテーブルのメソッドを呼び出すことができます。それは可能ですか?

0 投票する
2 に答える
4901 参照

c++ - LuaJIT を静的にビルドしてリンクする方法 (VS 2013)

前提: C++ アプリケーションが何にも依存しないようにしたいMicrosoft Visual C++ redistributableので、すぐに使用できる実行可能ファイルを出荷できます。

私が最初に行ったこと:必要性を避けるために、ランタイム ライブラリをMultithread (/MT)fromに切り替えます(VS 2013 は 120 バージョンを必要とするべきではありません。これはコンパイラ バージョンなので?)。それを行うには、同じランタイム ライブラリで使用している別のライブラリも再コンパイルする必要があり、それは機能しました。どこでも問題なく実行できる.exeがありました(または、知りませんでした)。DLL Multithread (/MD)msvcr110.dll

次に、LuaJIT を利用するいくつかの機能を追加しました。パッケージに付属の で LuaJIT をビルドしましたmsvcbuild.batが、魅力的に機能しましたが、今では実行可能ファイルmsvcr110.dllを実行する必要があります。LuaJIT が /MD フラグを付けてコンパイルされているためだと思いますが、私がやりたいことを行う適切な方法があるかどうか知りたいです。

0 投票する
1 に答える
2510 参照

security - LuaJIT を使用したスクリプティングと FFI の選択的なサンドボックス化

Lua と LuaJIT を自分のゲーム エンジンに非常に簡単に統合できることを試してみた結果、これこそが自分が使いたいスクリプト言語だと確信しました。AI、ユニットの説明、マップトリガーなどに使用したいと思います。(本当に可能な限り)。この質問は gamedev だけに適用されるものではありません。外部スクリプトをロードできるスクリプト可能なエディターまたはウィンドウ マネージャーを作成することを想像できます (適切な例: Python とパッケージ コントロールを使用した崇高なテキスト)。

しかし、ここで難問があります。LuaJIT FFIが提供するエンジンへのバインドの使いやすさには本当に感謝していますが、たとえばマップ作成者に FFI の自由な統治を提供したくありません。FFI を介した lua-to-c 呼び出しの驚異的な速度 (JITted の場合) も、私が本当に望んでいるものです。

理想的には、FFI を使用してエンジンにバインドする独自のラッパー Lua ファイルを作成し、マップの作成者や改造者が使用するための優れたモジュールをエクスポートします。これに代わる方法は、バニラの lua モジュールを作成することです。これは可能ですが、はるかに面倒で遅くなります。

明らかに自分で使用したいので、luajit をコンパイルするときに FFI を無効にすることはできませんが、FFI をスクリプトごとまたはモジュールごとに制限する方法がわかりません。明らかに、モジュールをロードする lua_State で FFI をアクティブにする必要があります (その後、ユーザーが変更したスクリプトのロードを開始できません)。それで、私は何をしますか?それは可能ですか?

編集:私の考えでは、理想的なワークフローは次のようになります。

  1. ルア状態を開く
  2. すべてのモジュールをロードします (luaL_openlibs())。FFI もプリロードされます。
  3. FFI を使用する .lua モジュールをロードします (これはエンジン バインディングです。信頼できるファイルであるため、FFI を使用できます)。
  4. ネイティブ モジュールと関数の選択を無効にします: os、ffi、... (これは欠落しているステップです)
  5. ユーザー提供のスクリプトを実行します (これらは信頼できないため、FFI にアクセスさせたくありません)
  6. オプション: 高速編集サイクルのために lua モジュールをリロードする方法を探します。これには、FFI およびその他のモジュールを再度有効にすることが含まれます。(これを行う方法もわかりません

: Mike Pall がいくつかのメールで既に指摘しているように、これがまだ完全ではない (または良いサンドボックスでさえない) ことは承知していますが、マップの作成者に FFI へのアクセスを許可したくありません。

0 投票する
1 に答える
197 参照

lua - 反復するものが何もない場合、lua イテレータ ファクトリは何を返す必要がありますか

私は lua イテレーターを実装していますが、イテレーター ファクトリ (反復可能オブジェクトを反復処理するために使用されるクロージャーを作成する関数、http://www.lua.org/pil/7.1.html を参照list_iter)何を返す必要があるのだろうかと思います。反復するものが何もない場合。

たとえば、リスト型を実装するとしますが、リスト オブジェクトにはエントリがまったくありません。したがって、 の本体...for i in myiterator do ... end アクセスされることはなく、スクリプトの実行は何も起こらなかったかのように続行されると思います。

私が戻った瞬間nil、Lua(jit) は について不平を言いattempt to call a nil valueます。戻り値を返さない場合も同様です。

0 投票する
1 に答える
435 参照

lua - C API を使用した luajit モード

私はLUAJITから始めています。

LUAJITにはモードを設定する機能があります

実際のモードを取得する方法はありますか?

ありがとう

0 投票する
1 に答える
2099 参照

lua - LuaJIT、cdataをユーザーデータに変換する方法は?

Lua で構造体と配列を作成する機能のために、LuaJIT を使用したいと考えています。しかし、データを使用する私の関数には、データを格納するユーザーデータまたは文字列 (文字列表現ではなく、コンテナーとして使用されるだけ) が必要です。

しかし、API を調べても、これが可能かどうかはわかりません。それは...ですか?

ありがとう。

0 投票する
1 に答える
8802 参照

nginx - nginxがLuaではなくLuaJitを使用しているかどうかを確認するには?

私はnginxをインストールし、完全に正常に動作するスクリプトを作成しましたが、代わりに 使用http-lua-moduleすることを確認したいと思います(私の調査ではLuaJitの方が高速であることが示されているため)。nginxLuaJitLua

.bushrcこれらのコード行に追加しました:

nginxも再コンパイルしましたが、LuaJitを使用していることを確認したいだけです。

0 投票する
1 に答える
505 参照

windows-phone-8 - Windows Phone8 SDK は c lua と luajit をサポートしていますか

wp8 ゲームを開発したいと考えており、cocos2d-x wp8 バージョンを使用する準備をしています。メインの開発言語として lua スクリプトを使用したいのですが、wp8 sdk でそれができるかどうかわかりません。私は自分でいくつかのグーグル作業を行いましたが、いくつかのlua c#のものしか見つかりませんでした。wp8 sdkでluaとそのc api、またはluajitを使用できるかどうか教えてください。いつもヒントをありがとう!