って書くと普通に関数名を積んでgettableしてからpcallなりすればいいじゃんて思われそうですが、local関数だとC側からlocalのスコープを特定できないので呼び出せないわけですよ。 他のluaファイルにも同じ関数名とかあるだろうし。 ということでpcallできないのですごくこまる。 そもそもCから呼び出す場合も関数名を知らないといけないのでちょちょいと作った適当な名前の関数等を登録するとか無名関数を登録するとか不可能なのですが皆さんどうやって解決してるんでしょうか。 そもそもCで作った関数の引数としてfunctionを渡した場合にスタックでlua_toXXXXすることができないので取り出せないんです。 lua_tocfunctionてのがあるんですが、それはCから登録した関数ポインタの値であってluaの内部で生成した関数じゃないんですよね。 一応isfunction,iscfu