- 1 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 13:02:21 ]
- LuaやSquirrelなどアプリケーションへの組み込み用途で
使われるプログラミング言語についてのスレッドです まとめwiki(なにか質問する前に必ずみること!) wikiwiki.jp/lua/ その他の参考URLは>2から ■過去スレ その3 pc11.2ch.net/test/read.cgi/tech/1160799232/ (前スレ) その2 pc8.2ch.net/test/read.cgi/tech/1063711237/ その1 pc5.2ch.net/tech/kako/1034/10341/1034182349.html
- 979 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 14:35:22 ]
- xmlなんかは1行目に文字コードセットが定義されているから、
下手にメモ帳で開いて保存すると、文字コード変わっちゃうしメンドクサイことになりますよね あと、xmlはMSからエディタ出てるけど微妙に使いづらいのが難点 個人的に、スクリプト言語で使うオススメの設定フォーマットはJSONだと思う
- 980 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 14:37:08 ]
- 素人さんにさわらせる場合は CSV 以上のものは使っちゃダメだってのが経験則
- 981 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 14:41:20 ]
- >>980
同感ですな xmlは素人には無理 フォーマット決めうちなtxtか、ini程度でokな気がする
- 982 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 16:29:30 ]
- 質問。
C からlua の関数を呼ぶ -> 呼ばれた関数は、lua 内の別の関数 A そのものを返す -> C 側でそれを保持して、必要なときに A を呼びだす てことをやりたいんだけど、どうすればいいですか? lua の関数オブジェクトやみたいなのをスタックから取得する関数が見当たらないのですが。 lua_getglobal(L, "getfunc"); lua_call(L, 0, 1); myfunc = スタック[-1]からlua関数を取得 ... しばらくたってから ... myfunc をスタックにpush lua_call(...) ということがやりたいです。
- 983 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 17:09:08 ]
- >>982
Lua はオブジェクトを直接C側で参照する機構を持たない。よって単純には出来ない。 一般的には luaL_ref を使ってオブジェクトのリファレンス(絶対重ならないint値)をとって、 それをつかってレジストリテーブルにつっこんでおいて、必要になったらそのリファレンスを つかってレジストリテーブルから引っ張り出してくる、という手法がとられる。 そんなややこしいのはいやじゃって人は、リファレンスを C側で保持できる squirrel オススメ
- 984 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 17:58:18 ]
- いまのプロジェクトにはC縛りがあるのでC++なsqurrelはダメなんです。
luaL_ref が一番素直そうなのでそれでやってみます。どうもありがとう。
- 985 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 00:58:12 ]
- SquirrelってC++だっけ?
bindは確かにC++だが、直叩きだったらCの範疇でいけたような・・・
- 986 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 01:07:48 ]
- squirrel のソース自体は c++ だよ。
class でなくて struct なのは趣味かね。 ただ、インターフェース的には全部C合わせなので、普通にリンクして使える。 例外とかも全く使ってないから問題になるところはどこにもない。 プロジェクトが C縛りってのがいまどきだと意味不明だねぇ
|

|