プレイ日記
ヨッシー L17A102K
ギャーーー! DEF使って、 カウントしてたら、 Stack overflowが出てきちゃった!
6そうだね
プレイ済み
返信[1]
親投稿
MIKI ifconfig
def のスタックは浅いので注意。 gosub は専用のスタック使ってるからたぶんメモリの限り呼べます。
0そうだね
プレイ済み
返信[2]
親投稿
ヨッシー L17A102K
後は…メモリリークが発生するんじゃない?
0そうだね
プレイ済み
返信[3]
親投稿
MIKI ifconfig
メモリリーク??? 確認した??
0そうだね
プレイ済み
返信[4]
親投稿
ヨッシー L17A102K
DEFを何度も使いまくると、メモリリークとなり、 そのうちハングします。
0そうだね
プレイ済み
返信[5]
親投稿
ヨッシー L17A102K
あと、現在発生中の問題がありまして… INC、DECでシステム変数(例えばCSRY)を指定すると そのCSRYが破壊し、次にCSRY使うとハングします。
0そうだね
プレイ済み
返信[6]
親投稿
MIKI ifconfig
> そのうちハングします。 古いバージョンだと顕著だったけど、まだ直りきってないのかな?? まあ、メモリリークかどうかは不明ですね。 誰にでも再現できる方法を確立してみてください。 再現できないと、デバッグできないと思います。 >DECでシステム変数(例えばCSRY)を指定する 既知のバグですね。 そもそも csry の値は変更できません。 locate 命令を使ってください。
0そうだね
プレイ済み
返信[7]
親投稿
ヨッシー L17A102K
みきs、DECだけではなく、INCでも発生します…
0そうだね
プレイ済み
返信[8]
親投稿
MIKI ifconfig
それも既知です
0そうだね
プレイ済み
返信[9]
親投稿
ヨッシー L17A102K
あとあと、DIV命令ですが、 整数 DIV INT(実数)になるはずが、整数 DIV INT(実数)ではなく、整数/INT(実数)になります。
0そうだね
プレイ済み
返信[10]
親投稿
MIKI ifconfig
何言ってるかわからない。 もうちょっと詳しく教えて。
0そうだね
プレイ済み
返信[11]
親投稿
ヨッシー L17A102K
これを実行すると、 A1の式が1(整数 DIV 実数)になるはずが、 1.5(整数/実数)になります。 A2の式は1(整数 DIV 実数)になっていました。
0そうだね
プレイ済み
返信[12]
親投稿
MIKI ifconfig
わかりました。これはバグですね。 このリストと実行結果を社長に報告しましょう。 さしあたっては c = a div b の代わりに、c=mydiv(a,b) を使ってください。 def mydiv(a,b) return floor(abs(a/b))*sgn(a/b) end 既知の div バグで ? floor(10) div 3.0 3.33333325 というのもあります。
1そうだね
プレイ済み
返信[13]
親投稿
ヨッシー L17A102K
あと、前までの不具合でしたが、 巨大なプログラムや、大量のDATA文、大量のDEF文のプログラムを実行するとメモリが破壊し、ハングするという不具合ですが、 こちらはもう、修正済みですかね?
0そうだね
プレイ済み
返信[14]
親投稿
MIKI ifconfig
公式ページに更新情報があるので調べてみてください。 書いてなくても直ってる場合もあります。 直ってなかったら再現方法を明確にして、またバグ報告してください。 面倒だけどそういう地道な貢献によって、だんだん製品の質が向上していくわけです。
0そうだね
プレイ済み