私はlua_callの能力を拡張するlua_tcallと呼ばれるC++関数を持っています。 lua_tcallが呼び出されると、lua_pcallのように、スタックの最上位の値がLua関数であると予想されます。私はlua_tcallがスレッドを作成し、そのスレッドの関数としてグローバルスタックの一番上にある関数を使用できるようにしたいと思います。どのようにグローバルな状態からlua_Start *に関数をプッシュして、lua_newthreadから返すのですか?グローバル状態からルアスレッドに関数をプッシュ
1
A
答えて
2
2
lua_State
から別のものに関数を転送するには、両方の状態にグローバルなものを使用して、オブジェクトを仲介として格納する必要があります。グローバル変数またはレジストリエントリを使用できます。
+0
Ah。それは実際には非常に簡単な解決策です。助けてくれてありがとう。 –
関連する問題
- 1. Pythonモジュールのグローバル状態
- 2. IE履歴プッシュ状態
- 3. グローバルな状態を避ける
- 4. SISO伝達関数からの状態空間システムの形成
- 5. コールバック関数間の状態を維持
- 6. F#のグローバル状態と非同期ワークフロー
- 7. バックボーンと履歴のプッシュ状態
- 8. 複数のAPIリクエストからグローバル配列にプッシュ
- 9. 状態s1から状態s2にランダムに行く確率
- 10. 再帰関数間の状態のトラッキング
- 11. 休止状態:複数のFK関係
- 12. キャッシュ内のグローバル変数の状態が正しいかどうか
- 13. JavaScript関数はオブジェクトをグローバル配列変数にプッシュしません
- 14. Reduxはグローバル状態を賞賛していませんか?
- 15. プッシュ通知中にスタンバイ状態でアプリを起動する
- 16. Firefoxでプッシュ状態を無効にする
- 17. LINQを使用した状態での関数合成からのブレーク
- 18. PHPきれいな状態から関数を再利用する方法
- 19. サービスロケータはグローバル変数/状態だけではありませんか?
- 20. axVLCPlugin(VideoLAN)より速い状態から通常状態へ
- 21. デザインパターン:Railsの子状態からの親の集約状態
- 22. gen_fsmの状態を別のモジュールの関数に変更する
- 23. HTML5履歴状態内に関数を保存する方法
- 24. 有限状態マシン:複数の状態への1つの状態
- 25. インポートされたモジュール内の関数からグローバル変数にアクセス
- 26. PHPの関数の中からグローバル変数にアクセスする
- 27. なぜ関数の状態は "myVariable = myVariable;"ですか?
- 28. MySQLのSLEEP()関数はビジー状態ですか?
- 29. スリープ状態にあるQThreadをスリープ状態にしますか?
- 30. CodeIgniterグローバル関数
'lua_pcall'はスタック上の一番上の項目が関数であることを期待していません。スタック上の関数の位置は ' - (1 + nargs)'です。それでは、あなたの 'lua_tcall'をスタックに載せることは、どういうことでしょうか? –
lua_tcallは私が書いたテンプレート関数です(C++)。これは、最高の値がLua関数であることを期待しています。さまざまな数のパラメータをスタックにプッシュするオーバーロードがあり、0または1の戻り値をポップします。 Luaマニュアルの記法に従えば、契約は[-1、0、 - ]です(エラーは捕捉され、例外としてスローされます) –