stray '\357' なんとかエラー
2025.03.26
Arduinoで出てくるナゾのエラー。
ご存知の方は読まなくても構いません。
コンパイルすると、こんなエラーが出て中断。
stray '\357' in program
※円マークは実際にはバックスラッシュ。
私も初めて出くわした時には、わけがわからなくて困りました。
これは全角などの文字コードがソースに紛れ込んでいる為に起こります。
自分の経験で覚えているのは、Webサイトに掲載されたソースをコピー・ペーストしてきたときです。
簡単なプログラムだから通るだろうと思ったら、コンパイルが中断してしまう。
あれっおかしいなあ・・・
それで、いくらソースを隅々まで見てもわからない時があったのです。
全角スペースだったら、テキストエディタでソースを開いてみると(スペースも表示されるようにしておく)全角スペースを見つける事ができました。
先日経験した例では、それではありませんでした。
ソースの先頭から見ていこうとして、一番最初のところにカーソルを持ってきた。
カーソルキーを右へ移動しようとしても、なぜか引っかかったような感じでした。数回押すとやっと右へ1文字移動した。
ひょっとしてコレか!
見えない文字(コード)が挟まっていたわけですね。
その見えない文字相手に、DELキーを数回押して、それから改めてコンパイル・・・ようやく通りました。
こういうのってArduinoに限らず、自分の記憶ではかなり昔から有りました。
高校生の頃でした。COBOLのコンパイルが通らないのです。テキストエディタを開いてみてもどこにも誤りは無さそうです。
先生いわく、コントロールコード等が紛れ込んでいて、その見えない敵が悪さをしているということでした。
だから1行ずつ見ていって、あちこちでDELを押してみたりして挟まっている見えないコードを削除していったのです。
TABで区切られたところは、一旦TABを消して文字を詰めてから改めてTABを押し直す。
行末で改行を消し、次の行とくっつけてから改めて改行を押す。
こんなことを延々続けて、コンパイルしてみたら通ったのでした(笑)。
そういえばMSX-DOS2上のテキストエディタもおかしい時があったな。AKIDだったっけ。見えない文字が入っていると思って、カンでそのあたりを消してみたらアセンブルが通った。
ご存知の方は読まなくても構いません。
コンパイルすると、こんなエラーが出て中断。
stray '\357' in program
※円マークは実際にはバックスラッシュ。
私も初めて出くわした時には、わけがわからなくて困りました。
これは全角などの文字コードがソースに紛れ込んでいる為に起こります。
自分の経験で覚えているのは、Webサイトに掲載されたソースをコピー・ペーストしてきたときです。
簡単なプログラムだから通るだろうと思ったら、コンパイルが中断してしまう。
あれっおかしいなあ・・・
それで、いくらソースを隅々まで見てもわからない時があったのです。
全角スペースだったら、テキストエディタでソースを開いてみると(スペースも表示されるようにしておく)全角スペースを見つける事ができました。
先日経験した例では、それではありませんでした。
ソースの先頭から見ていこうとして、一番最初のところにカーソルを持ってきた。
カーソルキーを右へ移動しようとしても、なぜか引っかかったような感じでした。数回押すとやっと右へ1文字移動した。
ひょっとしてコレか!
見えない文字(コード)が挟まっていたわけですね。
その見えない文字相手に、DELキーを数回押して、それから改めてコンパイル・・・ようやく通りました。
こういうのってArduinoに限らず、自分の記憶ではかなり昔から有りました。
高校生の頃でした。COBOLのコンパイルが通らないのです。テキストエディタを開いてみてもどこにも誤りは無さそうです。
先生いわく、コントロールコード等が紛れ込んでいて、その見えない敵が悪さをしているということでした。
だから1行ずつ見ていって、あちこちでDELを押してみたりして挟まっている見えないコードを削除していったのです。
TABで区切られたところは、一旦TABを消して文字を詰めてから改めてTABを押し直す。
行末で改行を消し、次の行とくっつけてから改めて改行を押す。
こんなことを延々続けて、コンパイルしてみたら通ったのでした(笑)。
そういえばMSX-DOS2上のテキストエディタもおかしい時があったな。AKIDだったっけ。見えない文字が入っていると思って、カンでそのあたりを消してみたらアセンブルが通った。