HSPのバグを発見してしまった… 投稿日: 2010年12月31日 2019年4月12日 投稿者: kerupani カテゴリー: HotSoupProcessor シェアTweet HSPのバグを発見してしまった… ■「sample.txt」 aaaaaaaaaaaaa ■「バグ.hsp」 val=”wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww” val=”" bload “sample.txt”,val mes val ■結果 ↑クリックで拡大 (原寸) シェアTweet 投稿ナビゲーション 前 過去の投稿: HSPコンテスト入賞~次 次の投稿: HSPのバグらしきものをまた見つけてしまった… kerupani 557RSS
これはバグではないですよ。 よくわかるかもしれなくもない解説 メモリ上に、 (1)WWWWWW\0 と書かれる(\0は終了を示すコードで、文末の意味) そのごメモリを\0で埋める (2)\0WWWW\0 その後、bloadで「AAA」読み込み (3)AAAWWW\0 という仕組なんですよ。
>HSP、意外とバグみたいなものが多いようなので気を付けて下さい。 そうなんですか…気を付けます…。 >半角の二重引用符であるべき所が、全角の二重引用符になっていますよ・・・ あれ?もとのソースは半角なのに…投稿したら全角になってた!なんでだ? >これはバグではないですよ。 (その内容も含めて(無論ユウキさんが言ってることも含めて)) sdimで回避ですか…まあ、最初に変数=""とやっても回避できましたが、これは本当にバグじゃないんでしょうか? もっと分かりやすい解説お願いします。(すいません)
途中で消去しているはずなのにwが残っていますね……
HSP、意外とバグみたいなものが多いようなので気を付けて下さい。
プログラム中に急にエラーで止まったことは何度か……
細かいことでいちいちうるさいかもしれないけど、半角の二重引用符であるべき所が、全角の二重引用符になっていますよ・・・
それから、sdimで初期化すればこのバグは回避できるようですね。
これはバグではないですよ。
よくわかるかもしれなくもない解説
メモリ上に、
(1)WWWWWW\0
と書かれる(\0は終了を示すコードで、文末の意味)
そのごメモリを\0で埋める
(2)\0WWWW\0
その後、bloadで「AAA」読み込み
(3)AAAWWW\0
という仕組なんですよ。
ですから、有機酸の言うと売り、sdimで解消できます。
>HSP、意外とバグみたいなものが多いようなので気を付けて下さい。
そうなんですか…気を付けます…。
>半角の二重引用符であるべき所が、全角の二重引用符になっていますよ・・・
あれ?もとのソースは半角なのに…投稿したら全角になってた!なんでだ?
>これはバグではないですよ。 (その内容も含めて(無論ユウキさんが言ってることも含めて))
sdimで回避ですか…まあ、最初に変数=""とやっても回避できましたが、これは本当にバグじゃないんでしょうか?
もっと分かりやすい解説お願いします。(すいません)
バグと言えばバグですが、
仕様と言えば仕様でしょう。
どっちにしろ気を付ければいいことです^^
わかりました。バグではなく仕様として、今後気をつけて使います…。