私は非常に一般的であるに違いないと思う問題を抱えており、あなたのほとんどはそれに直面しているでしょう。私はluaでプログラムを作成しました。たとえば、main.luaは、キーイベントを受信すると、座標を変更してジオメトリ図を表示する必要があります。このluaコードはreg.cを呼び出し、そこで一種のレジスターになります。現在、reg.ciには、押されたキーを受け取り、それをキー処理を担当するlua関数に渡す関数エンジンがあります。しかし、キーイベントが発生するまでに、luaコードは登録を完了して終了するため、engine()からの呼び出しは不正なメモリアクセスになり、セグメンテーション違反が発生します。
また、lua呼び出しをreg関数にぶら下げたり、他の場所からエンジン関数を呼び出したりすることはできないと思います。
次に、解決策は何であるか、これを案内してください。
@jacob:これが私が達成しようとしていることのプロトタイプです:
function key_handler() //this function will get the latest key pressed from some other function
{
draw.image();
draw.geometry();
...
...
while(1)
{
//draw Points until some condition goes wrong
}
}
さて、key_handlerに入ると、彼がポイントを描くのに忙しい間、失敗状態が発生しない限り、そしてそれまで、私はその時まで押されたキーを受け取ることができません。
この説明がもっと簡単で私の主張を理解し、他の人が問題を理解するのに役立つことを願っています。本当に申し訳ありませんが、表現したり、他人に理解してもらうのは苦手です。
もう1つ、C構文に従って説明しましたが、これはluaで完全に実装されています。