問題タブ [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 投票する
2 に答える
2300 参照

c++ - c++ 名前空間の関数を luajit ffi で使用することは可能ですか?

名前空間に多くの関数とクラスを含む多くの C++ コードがあります (boost など)。
今、LuaJiT2 をスクリプト エンジンとして埋め込もうとしていますが、関数の呼び出しや名前空間から他のものを使用することについては何も見つかりません。
では、FFI を使用して C++ 名前空間から LuaJIT に関数を渡すことは可能ですか?

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

lua - LuaJITにはモジュールエラーが必要です

LuaJITが.luaではなく.dllを検索する理由と、この動作を修正する方法を教えてください。

0 投票する
4 に答える
5252 参照

lua - LuaJITはLuaRocksによってインストールされた岩を見ていません

lua -e "print(package.path)"

./?.lua;/usr/share/lua/5.1/?.lua;/usr/share/lua/5.1/?/init.lua;/usr/lib/lua/5.1/?.lua;/usr/ lib / lua / 5.1 /?/ init.lua

luajit -e "print(package.path)"

./?.lua;/usr/local/share/luajit-2.0.0-beta8/?.lua;/usr/local/share/lua/5.1/?.lua;/usr/local/share/lua/5.1 /?/init.lua

luaのpackage.pathを追加してみましたが、サイコロはありません。LuaJITは岩を見つけることができないようです、それは奇妙です。ここで何をすればいいですか?

0 投票する
3 に答える
9554 参照

c - C構造体ポインタをluaスクリプトに渡す

構造体ポインターを lua スクリプトに渡し、コピーなしで lua からそのメンバーに到達する方法があることを知りたいです (読み取りと書き込みの目的で)。

たとえば、ポインタを介して ac 構造体のメンバーを直接上書きすることは可能ですか?

(私はluajitを使用しています)

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

web-applications - Lua (Luvit) は Mongrel2 と同じですか?

混乱していますが、Luvit はMongrel2同じですか?

Luvit は Node for JavaScript に似ているように見えますが、コンセプトは Mongrel2 とまったく同じようです。

それらが同じでない場合、誰かが実装の違いを強調できますか。

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

lua - 標準のLuaバイトコードとLuaJITバイトコードの違い

LuaJITバイトコードファイルを逆コンパイルしようとしています。私はなんとかそれを分解することができました(しかしそれを再組み立てする方法を見つけることができません)。そこで、LuaJITバイトコードからLuaDecを正常に実行する標準のLuaバイトコードに変換するソフトウェアを作成することを検討しています。

しかし、LuaJITバイトコードと標準のLuaバイトコードの違いは何ですか?

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

c - luajit ffi コンストラクターのパラメーター ルーティング

チュートリアル セクションの例: 「C 型のメタメソッドの定義」は次のようになります。

「コンストラクター」がどこにあるのか少し混乱しています。デフォルトpoint(3,4)では、暗黙のルーティング3 -> x5 -> y. コンストラクターにロジックを掛けたい場合はどうなりますか? 別の言い方をすれば..デフォルト以外のコンストラクタを指定するにはどうすればよいですか?

私は一連の c ライブラリをオブジェクト指向の lua コードにラップしていますが、正規の lua への移植性は気にしません。create具体的には、オブジェクトの有効期間管理のためにinit、オブジェクト指向プログラミングの 3 つのコア関数をフックする必要がありますdestroy。destroy が__gc私のタイプのメソッドになることはわかっていますmetatable。そのため、 と の実行方法を知る必要がcreateありinit、できれば luajit によって行われるデフォルトの初期化を回避する必要があります。

編集

ffi.newおよび他のものには、型の作成を管理する一連の規則があります (luajit の ffi セマンティクス ページに記載されています)。それはセマンティクスのセクションにあります。カスタムクリエーターとイニシャライザー(acライブラリーの一部として提供される)をffiオブジェクトの作成にぶら下げる最もクリーンな方法は何かを知りたいです。

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

c - チャンクファイナライザーを実装するluajitffi

私はlibcurlをluajitffiでラップすることに取り組んでいます。ファイナライザーが呼び出されません。

ここで何が欠けていますか?:D

ところで、CURLはtypedef void CURL;、私がやろうとしている方法が十分にクリーンではないと確信しているために定義されています。何かアドバイス ?

ユーレカ!:自己回答-明白な問題がある場合でもコメントに興味があります。

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

c - Lua ファイル オブジェクトを C FILE* に変換する

LuaJIT と FFI を使用してラッパーを作成しています。パラメータとして aを取る関数を含む C ライブラリがFILE*あります。を使用してファイルを開くLua関数でio.open()。Lua ファイル オブジェクトから C にキャスト、変換、または抽出する方法はありますFILE*か? これは簡単なようですが、解決策が見つかりません。前もって感謝します。

0 投票する
3 に答える
823 参照

lua - Lua用のDSLは機能しますか...?(これは単純すぎて真実ではないようです)

私はプログラミング言語としてLualocalが大好きですが、すべてのローカル変数に対して常に「」と入力しなければならないのは信じられないほどバグです。

それは私のコードをより雑然と見せてくれるだけです。

ですから、Luaの上にドメイン固有言語(DSL)を作成して、次の変数の命名規則を使用することはできますか?

  1. 変数名がすべて大文字の場合、それはグローバル変数です
  2. それ以外の場合、変数はlocal変数です

質問:これは機能しますか?はいまたはいいえ?

言い換えると:

だから今、デフォルトのLuaの次のコード:

私のDSLLuaで:

更新

ローカル関数はどうですか?

次のコードはどのように機能しますか?

すべてのグローバル関数をすべて大文字で作成したいのかどうかはわかりません。

たぶん私は関数を無視し、' local'識別子...思考を必要としますか?