google-site-verification: google3bd66dd162ef54c7.html
FC2ブログ

Arduino よもやま話 -4 (コンパイラの設定など)

1.まえがき
 今回は Arduino IDE のコンパイラの設定など、私が普段やっていることについて書いてみます。なお、使っている IDE のバージョンは 1.8.1 なので少し古いものです。

2.コンパイラの警告
 バージョン1.8 あたりから「環境設定」のメニューの中に、「コンパイラの警告」というメニューが追加され、ここで、ワーニングを出すレベルを調整出来るようになりました。

▼コンパイラの警告
IDEの環境設定

 デフォルトは「初期値」で、普段はこの状態で使えば良いと思います。

 ブログなどでプログラムを公開する場合、私はこの設定を「全て」にしてコンパイルしています。こうしておくと、エラーではないけど、ちょっと変な書き方になっている個所を指摘してくれます。指摘された個所を修正すれば、プログラムの品質が上がるので、みっともないコードを世の中に晒さないで済みます。具体的には、のような点を指摘してくれます。(もっとあったはずですが思い出せません)
 ・定義されただけで、使われていない変数
 ・符号付きと符号無し変数間の比較
 ・型の定義の矛盾

 ちなみに、たとえコンパイラの警告を「無し」にしても、無しになるのは警告(ワーニング)だけで、コンパイルエラーは無しにはなりません。つまり、文法エラーがあればコンパイルは中断されます。

▼ワーニングの例
ワーニングの例
 小さくて読めないですが、こんな感じでワーニングが出ます。ちなみにこれは、EEPROMライブラリを使った時に出るワーニングで、たぶんライブラリ内部の問題だと思います。これはライブラリそのものを修正しないといけないので、そのまま放置しています。

3.ついでに
 プログラムの話なので似たような話をもう少し触れておきます。
1) スケッチファイルの命名方法
 いろいろな流儀があると思いますが、私は先頭に年月日を表す数字6桁を YYYYMMDD形式で付けています。プログラムを修正した場合は、その日の日付を先頭に付けるので、どんどんファイルが増えていきますが、気にしないことにしています。

▼スケッチ名の例
コンパイルエラー無し

 これは先日記事を書いた delayWDT2 のデモプログラムですが、ファイル名(スケッチ名)は_20180418_delayWDT2.ino にしています。当然ですが、このファイルが入っているフォルダ名も、_20180418_delayWDT2 です。なお、スケッチ名は数字で始まってはいけないというルールがあるので、先頭の _ は ArduinoIDE が勝手に付けてくれます。

 こうしておくと、ファイル名(フォルダ名)でソートすればプログラムの新旧がすぐに判って便利です。なお当然ですが、プログラムの保存フォルダは、「環境設定」で「スケッチブックの保存場所」として指定している場所です。

2)スケッチのファイルのエンコード
 Arduino IDE で作ったスケッチのファイル ( .ino ファイル) は UTF-8 でエンコードされています。これは普段は意識しなくても大丈夫です。でも、ブログの記事からスケッチのファイルにリンクを貼って、これをWebブラウザで読もうとすると、ほとんどのブラウザでコメントの日本語が文字化けします。

 もちろん、一旦ダウンロードして、そのファイルをしかるべきプログラムで開けば正常に読めます。でも、ブラウザでそのまま内容を見たい場合がほとんどなので、そんな面倒なことはやってられません。また、スマホで閲覧している場合は、そんなことまで出来ません。

 そういう問題を回避するには、ファイルのエンコードをUTF-8 からShift-JISに変換しておけば大丈夫です。変換方法はいろいろありますが、私はエディタ(秀丸)でやっています。

 あと、ブログの記事の中にプログラムを直接表示させたい場合は、半角の<などがタグとみなされてしまう問題がありますが、話が長くなるのでそのあたりの話は割愛します。

◆まとめ
 コンパイラの警告を「全て」にしておくと、きれいなプログラムを書くための支援機能になります。

 一方で、Arduino は細かいことは考えずに、とにかく作って動かしましょう、という文化なので、あれこれワーニングを出すと、思考の妨げになって良くないという考え方もあると思います。

 あと当然ですが、コンパイラのワーニングはアルゴリズムの間違いまで指摘してはくれないので、元がしっかりとしていないとダメなのは間違いありません。
関連記事

コメントの投稿

管理者にだけ表示を許可する

カレンダー
11 | 2018/12 | 01
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -
プロフィール

ラジオペンチ

Author:ラジオペンチ
電子工作を中心としたブログです。たまに近所(東京都稲城市)の話題など。60過ぎて視力や器用さの衰えを感じつつ日々挑戦!
コメントを入れる時にメールアドレスの記入は不要です。なお、非公開コメントは受け付けていません。

記事が気に入ったらクリックを!
最新記事
カテゴリ
最新コメント
リンク
FC2カウンター
検索フォーム
月別アーカイブ
RSSリンクの表示
QRコード
QRコード