codeを少し変えてビルドし直したらhangupするようになってしまいました.
↓こんなcodeでhangupしてる.起動後しばらくは動くこともある.瞬殺することもある.
char str[50]; ①
strcat(str, "echo "); ②
strcat(str, buffer); ③
③でoverflowしてるんだろと思って長さをcareとかしたのですが、原因は②でした.
あぁ~っやってしまっている.
正しくは、
strcpy(str,"echo "); ②
じゃないとダメですね.
切腹してお詫びします.
えいめん
コードを読むのが久しぶりでしばらく考えてしまいましたw
返信削除配列や構造体はchar str[N] = {0}; と一括で0に初期化するのが好みでした。無駄な処理が増えるんでしょうけど、、、
あ、その記述ってできるんですか
削除なんか知らなかった
わざわざforしてるところよ
murasaki
削除組み込みではコンパイラを信じてはいけないのでfor文が正解かと信じております。コンパイラの最適化オプションいじって丸ごと処理が消えることもありますが・・。
str[N] = {0}; ←やってみたらとりあえずビルドは通った......
削除murasaki
削除普通なら起動時にスタートアップ処理でゼロクリされるかと思います。
PC上とは違って宣言の仕方によってはビルド通っても初期化されないことはざらにありますので、ご注意下さい〜。
「信じるかどうかは貴方しだいです」
削除↑オカルト陰謀論