[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/27 16:07 / Filesize : 264 KB / Number-of Response : 1020
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【Lua】組み込み系言語総合 その6【Squirrel】



1 名前:デフォルトの名無しさん mailto:sage [2013/03/10(日) 15:10:32.28 .net]
LuaやSquirrelやAngelScriptなどアプリケーションへの組み込み用途で
使われるプログラミング言語についてのスレッドです
まとめwiki(なにか質問する前に必ずみること!)
wikiwiki.jp/lua/

その他の参考URLは>2から

■前スレ
【Lua】組み込み系言語総合 その5【Squirrel】
toro.2ch.net/test/read.cgi/tech/1321063450/
■過去スレ
その4 hibari.2ch.net/test/read.cgi/tech/1301414458/
その3 hibari.2ch.net/test/read.cgi/tech/1272643397/
その2 pc12.2ch.net/test/read.cgi/tech/1243210301/
その1 pc12.2ch.net/test/read.cgi/tech/1205208141/
プログラミング言語 Lua
その3 pc11.2ch.net/test/read.cgi/tech/1160799232/

83 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 22:05:29.72 .net]
うん、だからその理屈だと整数演算を切り捨ててはいけないんだけど
Luaはそれを切り捨てたのよ。
それでもベンチマーク成績は高かった。
つまり、演算以外の部分が問題だったわけね。

84 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 22:11:56.98 .net]
doubleそれほど遅くないよ。割り算を除けばせいぜい2倍位じゃないの?
intとdoubleの変換が遅かったりして。

85 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 22:14:30.36 .net]
doubleの処理は、今時のそこそこのデスクトップマシンと、
そこいらへんにたくさんあるARMとで、天と地ほどの差があるなw

86 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 22:16:23.31 .net]
整数演算がないと困るのはビット演算
が5.2でライブラリが追加されたからそれもほぼ解消

87 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 22:19:25.09 .net]
>>83
浮動小数演算がボトルネックにはならなかったって話と、整数演算が
ボトルネックだったって話は関係ないじゃん。

88 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 22:28:42.34 .net]
その辺のことはこのあたりかな
lua-users.org/wiki/FloatingPoint

89 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 22:31:35.75 .net]
そもそも誰も「整数演算がボトルネック」なんて話してないし

90 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 22:52:19.88 .net]
整数演算がボトルネックといっているのではなく、
浮動小数点演算の遅さは実は問題ではなかったという判断
だから整数演算いらんというデザイン

91 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 22:53:39.83 .net]
速くなればなるほど問題が表面化するというわけだな



92 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 23:01:32.81 .net]
JIT版の実装が良くなればたぶんね

93 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 23:14:14.82 .net]
>>89
つまり、整数演算切り捨てたこととLuaが速いことは関係ないってことだろ。
>>81はボトルネックと言っているが。

94 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 23:25:40.76 .net]
>>81はLuaが速い一因として設計の合理性を挙げていて
整数演算がボトルネックとは言ってないし
>>83>>90のフォローもそれを補強していると思うんだが
読解力がないのならしょうがない

95 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 23:31:28.29 .net]
言語仕様そのものが速さ目的で設計されてるってのもあるんでないか
ローカル変数をわざわざ指定しなきゃならんとか
書く側からすれば面倒な仕様だけど多分これだとGCがやりやすいんだろうなとか
ソース見たわけじゃないから分からんけどね

96 名前:デフォルトの名無しさん mailto:sage [2013/04/04(木) 20:48:23.65 .net]
AngelScript|Д`)<みんなでtemplate触ろうぜ

97 名前:デフォルトの名無しさん mailto:sage [2013/04/04(木) 20:55:01.09 .net]
Squirrel |Д`)<Squirrel 3.0.4記念カキコ

98 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 20:50:30.10 .net]
Squirrel更新か!?
と思ったのに!

99 名前:デフォルトの名無しさん mailto:sage [2013/04/10(水) 01:40:40.27 .net]
AngelScriptにDelegate対応が来てた

100 名前:デフォルトの名無しさん mailto:sage [2013/04/12(金) 20:39:39.69 .net]
今度のはfuncdefとかの関数ポインタが無くなってデリゲートに置き換わるのか。

101 名前:デフォルトの名無しさん mailto:sage [2013/04/13(土) 06:03:24.53 .net]
どんどん実務向きじゃなくなってくな



102 名前:デフォルトの名無しさん mailto:sage [2013/04/13(土) 10:14:35.22 .net]
出たよ実務厨

103 名前:デフォルトの名無しさん mailto:sage [2013/04/13(土) 12:50:15.63 .net]
AngelScript、C++もどきからC#もどきになっていっちゃうのかな

104 名前:デフォルトの名無しさん mailto:sage [2013/04/13(土) 16:49:05.32 .net]
同じC#もどきならTypeScript使いたい
JSとの互換性をある程度制限したサブセットならluaのVMで動かせるんじゃないか

105 名前:デフォルトの名無しさん mailto:sage [2013/04/13(土) 21:56:15.10 .net]
V8じゃダメなのかな。

106 名前:デフォルトの名無しさん mailto:sage [2013/04/13(土) 23:11:15.34 .net]
V8ってサイズでかいし不安定だし組み込むのめんどくさい

107 名前:デフォルトの名無しさん mailto:sage [2013/04/13(土) 23:24:25.01 .net]
エンジンだけに

108 名前:デフォルトの名無しさん mailto:sage [2013/04/14(日) 08:39:34.90 .net]
www.infoq.com/jp/news/2013/04/eclipsecon-2013
EclipseのM2M開発環境

> EclipseはArduinoとRasberry Piデバイスの開発のチュートリアルを提供している。
> これには組み込みLuaランタイム(Mihini)とLuaの開発環境(Koneki)のセットアップ方法も含まれている。

Luaがセンサーネットワークの世界に旅立っていった。

109 名前:デフォルトの名無しさん mailto:sage [2013/04/14(日) 08:43:24.10 .net]
栗鼠月天使

110 名前:デフォルトの名無しさん mailto:sage [2013/04/14(日) 10:19:21.31 .net]
ぅあってお仕事ではどんな場面でちゅかうんですか?

111 名前:デフォルトの名無しさん mailto:sage [2013/04/14(日) 10:23:03.29 .net]
ぅあきねんぱぴこ



112 名前:デフォルトの名無しさん mailto:sage [2013/04/15(月) 14:31:12.59 .net]
AngelScriptのデリゲートって
オブジェクトのインスタンスとメソッドから関数ポインタを作る機能のようだ
普通の関数もクラスメソッドも関数ポインタに代入できる

3.0では値型のオブジェクトは使えなくなって
参照型のオブジェクトのみになるらしい
そうなるといっそうC#やJavaっぽくなる

113 名前:デフォルトの名無しさん mailto:sage [2013/04/17(水) 19:02:58.71 .net]
地道にブログの記事を参考にさせていただいていますが(感謝しております)
大々的にLuaBindのことを日本語で語ってるような場所ってないですかね?

114 名前:デフォルトの名無しさん mailto:sage [2013/04/21(日) 06:56:41.22 .net]
        (´\r-、     ┼         +     /`/`)    +
     ┼   (\. \!              *     // ,/)  *
  +     * (ヽ、   \ +  *          /   /)   +
      ⊂ニ      )        *   +  (     ニ⊃
  *  +  ⊂、     (   ∩___∩   ノ     ⊃   +  *
         (/(/   ヽ  | ノ     ヽ /    、)ヽ)  ┼
    +        (/     ∨  ●   ●レ /⌒) 、)ヽ)
     *       (/'   |   ( _●_) ミ'  /、)、)´       +
         +    (/'ヽ 彡、   |∪| ノ /     AngelScript!!
     +            / __ヽノ  /  *      +
       ┼        (___) /      +
               /     /
               (_ ⌒丶..
                | /ヽ }.
                  し  ))
                    ソ  トントン

115 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 18:36:10.04 .net]
なんかみっけたので

MarmaladeがRADツールMarmalade Quickを正式リリース 2013-02-11 14:14
ttp://www.madewithmarmalade.com/node/60359
またMarmalade Quickは“ZeroBrane Studio” IDEと統合されており、Luaスクリプトの容易なオーサリング、デバッグが可能です。

116 名前:デフォルトの名無しさん mailto:sage [2013/04/30(火) 22:06:32.31 .net]
squirrel で Direct3D の Vertex みたいな、
状況に応じて構造体の中身が変わる物を
squirrel から C++ 側に送りたい時って
何かいい方法はあるのでしょうか。
ディフューズ色が DWORD なのが問題なのですよね…。
他は殆どが FLOAT なのに…。

117 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 02:36:38.25 .net]
JSの世界はブラウザの中で戦争していてるせいか、FFI使えないからGCやJIT切ってVM上にアセンブラ載せてみたりなんか凄いね。
www.publickey1.jp/blog/13/asmjsjavascript.html

118 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 02:41:19.59 .net]
まあブラウザ上でLuaというかHTMLにLuaを埋め込むとかよくある中二病の扉ががが

119 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 15:59:59.18 .net]
>>116
普通にフラグ判定して値を代入しなおすだけではないの?
float も dword も4byte で領域的には同じだからあとは
解釈次第だと思うんだけど何にはまってるんだろう

120 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 16:51:43.21 .net]
>>116
バインダはSqrat?

121 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 22:59:00.95 .net]
>>119 >>120 すみません、確かにそうですね。 メモリ確保して memcpy でコピーする事にしました。

それと追加で質問なのですが、 C++側でSqrat::Classで登録したクラスを、 SquirrelからC++関数の呼び出しの引数に指定した際に、 C++関数内からクラスの実体を得る方法はあるのでしょうか?

RootTable(vm).GetSlotを使えばメンバ関数・変数にはアクセス出来るのですが、 クラスのポインタを取得して普通のC++のクラスのように扱えたらなと思ったので。



122 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 23:32:28.39 .net]
自己解決しました、何度も失礼しました

123 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 02:38:40.28 .net]
5.2.2きた

124 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 14:30:49.45 .net]
>>121
AngelScript|Д`)ノ<きたわよ

そういうのはAngelScriptでやると簡単。

125 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 14:40:55.38 .net]
        (´\r-、     ┼         +     /`/`)    +
     ┼   (\. \!              *     // ,/)  *
  +     * (ヽ、   \ +  *          /   /)   +
      ⊂ニ      )        *   +  (     ニ⊃
  *  +  ⊂、     (   ∩___∩   ノ     ⊃   +  *
         (/(/   ヽ  | ノ     ヽ /    、)ヽ)  ┼
    +        (/     ∨  ●   ●レ /⌒) 、)ヽ)
     *       (/'   |   ( _●_) ミ'  /、)、)´       +
         +    (/'ヽ 彡、   |∪| ノ /     AngelScript!!
     +            / __ヽノ  /  *      +
       ┼        (___) /      +
               /     /
               (_ ⌒丶..
                | /ヽ }.
                  し  ))
                    ソ  トントン

126 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 18:36:39.38 .net]
来ると思ってました

127 名前:デフォルトの名無しさん mailto:sage [2013/05/08(水) 22:07:08.55 .net]
luaでバインダを使わずにC++クラスのメンバ変数をバインドする
方法を解説してる所ってありませんか?
メンバ関数経由でset getするのしか見つからず…

128 名前:デフォルトの名無しさん mailto:sage [2013/05/08(水) 23:56:32.38 .net]
バインダのソース読めばいいのでは

ラッピング関数作ってると思うけど

129 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 00:59:43.08 .net]
__index/__newindexメタメソッドを関数にして、その中でメンバ変数にバインドしたいキーが指定されたら
対応するC++のメンバ変数をそのまま返す/設定するってのできるっちゃできるけどね

メンバ関数でやるより逆にコストかかる仕組みになるし多値返しできないしで
ぶっちゃけ言語サポート無しに無理するもんじゃねーなという結論に達した

130 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 05:31:19.08 .net]


131 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 05:46:34.65 .net]
ぅあ?



132 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 18:39:34.03 .net]
>>127
AngelScript|Д`)ノ<きたわよ

133 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 18:43:49.69 .net]
luaは永遠に不滅です!

134 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 22:03:41.56 .net]
>>128-129
なるほど、やはりその方法しかないのですね。
教えて頂きありがとうございました。

135 名前:デフォルトの名無しさん mailto:sage [2013/05/10(金) 21:30:02.44 .net]
AngelScript|Д`)<AngelScript2.26.3記念カキコ

136 名前:デフォルトの名無しさん mailto:sage [2013/05/10(金) 22:11:42.38 .net]
        (´\r-、     ┼         +     /`/`)    +
     ┼   (\. \!              *     // ,/)  *
  +     * (ヽ、   \ +  *          /   /)   +
      ⊂ニ      )        *   +  (     ニ⊃
  *  +  ⊂、     (   ∩___∩   ノ     ⊃   +  *
         (/(/   ヽ  | ノ     ヽ /    、)ヽ)  ┼
    +        (/     ∨  ●   ●レ /⌒) 、)ヽ)
     *       (/'   |   ( _●_) ミ'  /、)、)´       +
         +    (/'ヽ 彡、   |∪| ノ /     AngelScript!!
     +            / __ヽノ  /  *      +
       ┼        (___) /      +
               /     /
               (_ ⌒丶..
                | /ヽ }.
                  し  ))
                    ソ  トントン

137 名前:デフォルトの名無しさん mailto:sage [2013/05/16(木) 18:07:30.53 .net]
Squirrelでsq_setnativeclosurenameでバインドしたクラスの
メンバ変数にアクセスする場合の話なのですが、
obj.menba は __get や __set でアクセスすればいいのですが、
obj.menba.var という風なメンバにアクセスしようとしたら、
[the index 'var' does not exist] というエラーが出てしまいました。
こういった使い方をしたい場合はどうやって登録すればいいのでしょうか。

138 名前:デフォルトの名無しさん mailto:sage [2013/05/17(金) 00:17:43.29 .net]
>>137
AngelScript|Д`)ノ<きたわよ

AngelScriptはその辺得意だよ。

139 名前:デフォルトの名無しさん mailto:sage [2013/06/08(土) 18:40:11.38 .net]
Game Monkey Script ってどうなんでしょう
ttp://www.gmscript.com/

Q-Games の新作 PixelJunk, Inc. で使われているそうな…
ttp://pixeljunk.jp/inc/%E4%B8%BB%E3%81%AB%E7%8C%BF%E3%81%A8%E5%83%8D%E3%81%84%E3%81%A6%E3%81%BE%E3%81%99%E3%80%82/

140 名前:デフォルトの名無しさん mailto:sage [2013/06/08(土) 19:25:57.51 .net]
なんか懐かしい名前だ

141 名前:デフォルトの名無しさん mailto:sage [2013/06/08(土) 19:42:34.92 .net]
GameMonkeyの名前自体は1スレ目からたまに挙がってるけど、踏み込んだ話題は…



142 名前:デフォルトの名無しさん mailto:sage [2013/06/08(土) 20:01:20.72 .net]
>>139
どう「いい」やつが欲しいのかによる・・・んじゃね

143 名前:デフォルトの名無しさん mailto:sage [2013/06/08(土) 20:49:05.20 .net]
CEDEC2010でGameMonkeyScript(とXtal)を使ってゲーム作った人らが講演してる。

その資料がここにある
ttp://cedil.cesa.or.jp/session/detail/301
無料だが登録が必要

日本語だとこれ関係しか見当たらぬ…

144 名前:デフォルトの名無しさん mailto:sage [2013/06/09(日) 15:47:26.83 .net]
GameMonkeyってバンナムが採用してなかったっけ

145 名前:139 mailto:sage [2013/06/10(月) 11:39:34.51 .net]
>>140-143 ありがとうございます。

>>144
>>143 がバンナムの人の講演記事で
業務用ゲーム機で利用した例が紹介されてました。

146 名前:デフォルトの名無しさん mailto:sage [2013/06/11(火) 22:38:34.29 .net]
以前スレで出てたスクリプト言語の比較してたサイトで、GameMonkeyは結構いい性能叩き出してた気がする。

147 名前:デフォルトの名無しさん mailto:sage [2013/07/01(月) NY:AN:NY.AN .net]
decoda便利すぎ

148 名前:デフォルトの名無しさん mailto:sage [2013/07/01(月) NY:AN:NY.AN .net]
>>147
AngelScriptにもそういうのが欲しい…
デバッグ用の情報取ってきたりするのは簡単なんだけど

149 名前:デフォルトの名無しさん mailto:sage [2013/07/02(火) NY:AN:NY.AN .net]
asPEEKは?

www.angelcode.com/angelscript/resources.html

asPEEK - Remote debugger
saejox has implemented a remote debugger for AngelScript projects. By integrating asPEEK into your application you will be able to use an ordinary web browser to remote debug your scripts with a nice graphical interface.

Download asPEEK from Bitbucket

Note: Code uses boost and websocket

150 名前:149 mailto:sage [2013/07/02(火) NY:AN:NY.AN .net]
asにブラウザで動くリモートデバッガがあるのは知っていたけど使ったことなかった

151 名前:デフォルトの名無しさん mailto:sage [2013/07/05(金) NY:AN:NY.AN .net]
luabind使ってC側の型とか関数とか登録しまくってたら、
lua_Stateの使用メモリがKB単位でモリモリ増えてって
消費メモリ量が無視できない量になりつつある



152 名前:だけどもそういうもんなの? []
[ここ壊れてます]

153 名前:デフォルトの名無しさん mailto:sage [2013/07/06(土) NY:AN:NY.AN .net]
とりあえずソースぐらいは出しましょう。
他の言語も含め生でゴリゴリと各種バインダの差異など含めベンチとりましょう。
簡単なものでいいですよ。
お題が楽しければ暇な人も参戦し実のある内容になるでしょう。

154 名前:デフォルトの名無しさん mailto:sage [2013/07/06(土) NY:AN:NY.AN .net]
luaのバインダって結構あるんだね。
知らないだけでtolua++やluabindより良いバインダが存在しているような気がする。

155 名前:デフォルトの名無しさん mailto:sage [2013/07/11(木) NY:AN:NY.AN .net]
>>149
ダウンロードしたけど、Demoのやつの動かし方が分からなかった…

156 名前:デフォルトの名無しさん mailto:sage [2013/07/12(金) NY:AN:NY.AN .net]
昔、Pascalのbegin/endを、C言語で#defineしようとした人がいたらしい
今度は、mallocとかfreeとかをスクリプト言語にバインドする人が出てくる
強力なバインダは良いバインダではない
弱い方が良い

157 名前:デフォルトの名無しさん mailto:sage [2013/07/12(金) NY:AN:NY.AN .net]
何を言っているのかよくわからんが、
#define begin { は、以下のような奴だな。
ttp://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/sh/mac.h
ttp://www.pro.or.jp/~fuji/computerbooks/c/c.modula2.html

なんか全然違う話だと俺は思うのだが

158 名前:デフォルトの名無しさん mailto:sage [2013/07/12(金) NY:AN:NY.AN .net]
よくわからん側の主導で推進してるっぽいのが不安だ

159 名前:デフォルトの名無しさん mailto:sage [2013/07/12(金) NY:AN:NY.AN .net]
>>155
>昔、Pascalのbegin/endを、C言語で#defineしようとした人がいたらしい

マクロの使い方としてK&Rにも書かれてる方法であり、取り立てて驚くような話ではない。

160 名前:デフォルトの名無しさん mailto:sage [2013/07/12(金) NY:AN:NY.AN .net]
条件付きにて同意する

161 名前:デフォルトの名無しさん mailto:sage [2013/07/12(金) NY:AN:NY.AN .net]
そもそもスクリプトでmallocやfreeを直接使うような事ってある?



162 名前:デフォルトの名無しさん mailto:sage [2013/07/13(土) NY:AN:NY.AN .net]
Cの関数を忠実に再現するツールを使うと、スクリプトでmallocやfreeを使う事になる
忠実にしたくない場合はツールに丸投げできないと考えるのが自然

163 名前:デフォルトの名無しさん mailto:sage [2013/07/15(月) NY:AN:NY.AN .net]
そういや、CriScriptって、今どうなってるんだろう?

164 名前:デフォルトの名無しさん mailto:sage [2013/07/15(月) NY:AN:NY.AN .net]
>>162
CriScript作ってた人がgoogleかどっかに入ってプロジェクト終了、じゃなかったっけ

165 名前:デフォルトの名無しさん mailto:sage [2013/07/16(火) NY:AN:NY.AN .net]
そこそこ良いものだったような気もするが、残念な話だな

166 名前:デフォルトの名無しさん mailto:sage [2013/07/26(金) NY:AN:NY.AN .net]
Luaのコルーチンのように、スクリプト内で呼び出すと関数が終わるかSuspend(Luaだとyield)するまで実行して戻ってくるAngelScript用のコルーチンを作ってみたら、
自分のメソッドを呼び出すコルーチンをインスタンスとして持たせたら、循環参照が起こって解放されずにメモリリークに。

class A
{
coroutine c;

void coFunc()
{

Suspend();

}

void Init()
{

c.SetFunction(cFUNC(this.coFunc));

}

void Update()
{
c.Execute();
}
};

こんな感じでやると、cが循環参照になっちゃった。

167 名前:デフォルトの名無しさん mailto:sage [2013/07/27(土) NY:AN:NY.AN .net]
あるある
その手の処理には弱参照が必要

168 名前:デフォルトの名無しさん mailto:sage [2013/07/27(土) NY:AN:NY.AN .net]
AngelScript2.27.0のWorkInProgressに、「weak references」とかあるから、次のバージョンだと解決できそう。

169 名前:デフォルトの名無しさん mailto:sage [2013/07/29(月) NY:AN:NY.AN .net]
AngelScript 2.27.0 is out - AngelCode - GameDev.net
www.gamedev.net/topic/645977-angelscript-2270-is-out/

・デリゲートを作ったりデリゲートの情報を取得できる
・関数の引数や戻り値がconst参照か調べられる
・GCが把握しているオブジェクトを列挙してパフォーマンス改善に役立てられる
・弱参照 スクリプトのクラスでもアプリケーションのクラスでも使える

170 名前:デフォルトの名無しさん [2013/07/29(月) NY:AN:NY.AN .net]
Angelscriptは参照カウントとGCを併用しているから
一応GCフラグのあるクラスであれば、弱参照を使っていなくて循環参照になっても、最終的にGCで解放されるはずなんだが
弱参照を使っていればもっと早いタイミングで解放されるので使うといいと思ふ

171 名前:デフォルトの名無しさん mailto:sage [2013/07/31(水) NY:AN:NY.AN .net]
AngelScript2.27.0でやってみたが、循環参照の問題解決できなかった。
弱参照やら

>・デリゲートを作ったりデリゲートの情報を取得できる

の機能を利用してみたがダメだった。
C++側でasIScriptFunctionを保持するやり方を間違えているのかも知れない。



172 名前:デフォルトの名無しさん mailto:sage [2013/08/06(火) NY:AN:NY.AN .net]
AS、さらに調べてみたところ、

「スクリプト内のクラスAにC++側で定義したクラスBをメンバ変数として持たせて、Bのインスタンスに
this.〜でAのメンバ関数のdelegateを渡して保持する」

と循環参照が発生して解放されない、という状態になってるっぽい。

「AにBとスクリプト内のクラスCをメンバ変数として持たせて、Cのインスタンスのdelegateを渡して保持する」

場合は大丈夫っぽいんだが、さてどうしたものか。

173 名前:デフォルトの名無しさん [2013/08/07(水) NY:AN:NY.AN .net]
いや、C++のクラスを弱参照かGCフラグに対応させろよ?

174 名前:デフォルトの名無しさん mailto:sage [2013/08/07(水) NY:AN:NY.AN .net]
弱参照って何?

175 名前:デフォルトの名無しさん mailto:sage [2013/08/07(水) NY:AN:NY.AN .net]
ぬるぽするかもしれない可能性が存在することが保障されてるぽ

176 名前:デフォルトの名無しさん mailto:sage [2013/08/07(水) NY:AN:NY.AN .net]
>>172
一応、asBEHAVE_GET_WEAKREF_FLAGを使って弱参照にしてみたり、
asOBJ_GCつけてメソッド入れてやってみたんだけど上手く行かないんだ。
asIScriptFunctionが内部で持ってるデリゲート用のオブジェクトが上手く解放できないみたい。

177 名前:デフォルトの名無しさん [2013/08/08(木) NY:AN:NY.AN .net]
コードも無いのに分からない

循環参照にはならない筈なのに解放漏れがあるならそれは
何処かで参照カウント減らして解放するのを忘れているだけなんじゃないか
としか言えない

178 名前:デフォルトの名無しさん [2013/08/08(木) NY:AN:NY.AN .net]
 
\\
\\\
\  ∧_∧
   ( ´・ω・)
   G   と) ガッ >>174
    ヽ⌒)、 \人∧__∧
      ̄ (_) >`д´)')
         ∨つ   /

179 名前:デフォルトの名無しさん [2013/08/18(日) NY:AN:NY.AN .net]
AngelScript 2.27.1 is here (so soon? yes)
www.gamedev.net/topic/646723-angelscript-2271-is-here-so-soon-yes/

バグフィックス
メモリフットプリントの減少
void expressionで関数の出力引数を省略できる
デフォルト引数を匿名に出来る

180 名前:デフォルトの名無しさん mailto:sage [2013/08/29(木) NY:AN:NY.AN .net]
素人だけど勉強がてらにAngel Scriptの解説見てたらめっちゃコンパイル言語でワロタ

181 名前:デフォルトの名無しさん mailto:sage [2013/08/30(金) NY:AN:NY.AN .net]
       //
     /  /   パカッ
     //⌒)∩__∩
    /.| .| ノ     ヽ
    / | |  ●   ● |     
   /  | 彡  ( _●_) ミ Lua!!
   /  | ヽ  |∪|  /_
  // │   ヽノ  \/
  " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ



182 名前:デフォルトの名無しさん mailto:sage [2013/08/31(土) NY:AN:NY.AN .net]
enum大好きな俺はAngelScriptも大好き。

183 名前:デフォルトの名無しさん mailto:sage [2013/09/01(日) 10:45:33.66 .net]
コード補完とか開発環境の恩恵受けられる組み込みスクリプトってある?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<264KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef