問題タブ [lua-userdata]
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.
c++ - Lua ユーザーデータの保存と返却
私はC++で次のクラスを持っています
そして lua バインディング コードの一部:
そして、これらをLuaでユーザーデータとしてラップしたいので、次のようなことができます:
のアドレスを印刷するb
とb2
、2 つの固有のアドレスが得られますlua_newuserdata
。しかし、理想的には、同じメモリブロックを指しているため、同じユーザーデータを返したいと思います。どうすればこれを行うことができますか?
Lua にメモリを「担当」してもらいたいので、ガベージ コレクションで適切に削除されます。したがって、軽いユーザーデータが可能かどうかはわかりません。
lua - luaglut glReadPixels の lua で lightuserdata を作成します。
luaglut を使用していますが、 を使用しglReadPixels
てフレームをキャプチャしようとすると、最後の入力引数を正常に準備できません。
これは私が関数を呼び出す方法です:
img
フレームを保存したい場所ですが、imgを定義するタイプに関係なく、常にエラーが発生します。コンパイラは常にlightuserdataを必要としていますが、数日間検索したところ、lua 内でこのタイプのデータを作成する方法がないようです。
この問題にどう対処すればよいですか?前もって感謝します!
c++ - Lua ユーザーデータ ポインターの有効期間
ユーザーデータ オブジェクトを作成してテーブルに格納した場合、C/C++ でそれへの参照を取得します。その参照はどのくらいの期間有効ですか? ユーザーデータがLuaのテーブルに保持されている限り、C/C++での参照は有効であることが保証されていますか? または、Lua ランタイムがユーザーデータ オブジェクトを移動し、それに対する C/C++ 参照を無効にするリスクはありますか?
これが私がやっていることです:
operator new
ここで軽いユーザーデータを使用したほうがよいでしょうか?
lua - love2D エラー: unpack 予期されるテーブルがユーザーデータを取得しました
このテーブルをアンパックして画像を呼び出そうとすると、プログラムは「アンパックする引数が正しくありません (テーブルはユーザーデータを取得したと予想されます)」というエラーを返します。
私が使っているテーブルです
これは、テーブルを解凍しようとする場所です