ab.com コミュニティ
https://www.activebasic.com/forum/

String型の値が528バイト程度でコンパイラがクラッシュする
https://www.activebasic.com/forum/viewtopic.php?t=899
ページ 11

作成者:  ganas [ 2006年4月02日(日) 03:04 ]
記事の件名:  String型の値が528バイト程度でコンパイラがクラッシュする

こんにちは。
ゲームを作っていて、画面上に表示されるメッセージのプログラムを書いています。そのメッセージを代入するのには、String型が可変長であるため、使用していました。

(詳細に計算はしていないのでわかりませんが)半角(¥マークと英単語)と全角(日本語・英単語・数字問わず)が混じっている、合計528バイトになったメッセージを含めて、コンパイルしようとすると、コンパイラがクラッシュするようです(一定量までメッセージを(どれでもかまわず)削ると正常動作)。

これはバグでしょうか。

作成者:  ganas [ 2006年4月02日(日) 12:08 ]
記事の件名:  追記

ActiveBasicはバージョンが 4.23.00 です。

作成者:  淡幻星 [ 2006年4月02日(日) 17:21 ]
記事の件名:  Re: String型の値が528バイト程度でコンパイラがクラッシュする

あまり参考になる意見ではないかもしれませんが…。
このエラーはVer3.xの時代から、私の環境(Win2000)でもずっと起きてました。
(たぶんこちらも500Byte超えあたりでエラーしていた気がします)


仕様だと思って、長い文字列(目安256Byte)を扱うときは、
BytePtr+calloc+freeを使って明示的に動的確保してました。
もっとも、軽くString型の定義を見た感じでは、
扱う文字列の長さに上限は無いような組み方をしているようなので、
バグなのかもしれませんが…。


(ちなみに、Ver2.x時代は4KByteあたりでクラッシュしてました。
 なので、もともとString型は大容量に対しては落ちるもの、という認識でして、
 Ver3.x以降は「その上限が小さくなった」くらいに思ってスルーしてました^^;)

ページ 11 全ての表示時間は UTC+09:00 です
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/