Eclipse+CDTのgccコンパイル設定に『-pg』オプションを使用するためのチェックがあるので、それをONにしてmakeするとリンク時に『undefined reference to _mcount』というエラーが出る。
Eclipse+CDTは不親切で、リンク時には『-pg』オプションを付けてくれないようだ。なので、リンクオプションで『-pg』を別で設定してあげなければならない。リンク設定にはチェックボックスがないので、自分でタイピングするほかない。
これは、coverage(カバレッジ)を測定するときに使用する『-fprofile-arcs -ftest-coverage』オプションでも同じ。
原因は調べていないけど。。。
make Ver3.8.0じゃないとビルドが通らない(Ver3.8.1じゃだめ)
gdb-20041228じゃないとデバッガが動いてくれない(gdb-20060706じゃだめ)
環境のバージョンは何だったっけか
方法は簡単。以下のようにするだけ。
file:test.c |
上記test.cをコンパイルして実行ファイルを生成する。
$gcc -Wall -pedantic -fprofile-arcs -ftest-coverage test.c -o test.exe
生成した実行ファイルを実行することによりデータファイルが自動的に作られる。
$./test.exe
データファイルからカバレッジ情報(-bオプションで分岐情報も出力)を生成する。
$ gcov -b test.c
File `test.c'
Lines executed:85.71% of 7
Branches executed:100.00% of 2
Taken at least once:50.00% of 2
Calls executed:75.00% of 4
test.c:creating `test.c.gcov'
-: 0:Source:test.c |
次に分岐を一つ増やしてみる。
file:test.c |
前と同じようにコマンドを実行する。
$gcc -Wall -pedantic -fprofile-arcs -ftest-coverage test.c -o test.exe
$./test.exe
$ gcov -b test.c
File `test.c'
Lines executed:66.67% of 9
Branches executed:50.00% of 4
Taken at least once:25.00% of 4
Calls executed:60.00% of 5
test.c:creating `test.c.gcov'
-: 0:Source:test.c |
嫁さんが欲しかったというチャーリーとチョコレート工場の舞台である、WONKAのチョコレートを先日手に入れて、今日いよいよ食べる時がやってきた。チョコレートはサイコロ状に手で割れるようになっているタイプで、一つ一つはWONKAさんの帽子を模った形をしていた。味はミルクチョコレート?で中に入っている(少量の)キャラメルがとろーりとしてて意外においしかった。少しだけサクッとする食感があったのだけれども、これは多分、キャラメルの固まった箇所だろう。
ちなにみ、チャーリーがジョニーディップかと思っていたら、チャーリーは子供の事で、WONKAさんがジョニデだよって嫁さんに教えてもらった。映画を見てないから知りませんでした。
今日やったこと
- 単体テスト環境のカバレッジを測定。あまり良くないゾ!
- 読書(アート・オブ・プロジェクトマネジメント)。十六章まで読んだ。(*1)
*1・・・ようやく読み終えた。あと二回くらいは読まないと本代の元は取れない気がする。最終章は難しかったので感想は書けない。。。自分が説得しないといけない相手が苦手ならば、その相手が苦手としている人を使え!くらい。
今日の帰りは雨のため合羽を着て帰ったわけだけども、傘差し運転の学生が危ないのなんのって。向かいから走ってくるのが分かっているのに横並びのままだもんなぁー。なんで俺がぎりぎりまで避けなければならないのだろうかと怒りが込み上げてくる。
あと、道路に捨てられた傘の多さ。10Km走って帰る間に3つも哀れなビニール傘の死骸を発見。恐らくは強風で壊された傘をそのまま道路にぽいしたと思われる。道路は燃えないもの用のゴミ箱じゃないっつーの。
今日やったこと
- プロジェクト反省会ために実績データを纏めて課長に提出。
嫁さんのは手作りのフォンダンショコラ。外側ふっくらの中はとろーり。まぁまぁ。
社内ミーティングのある日は恒例のびっくりドンキーでランチ。今日はちょっと接客に腹がたった。
お店に入ると店の兄ちゃんがおじいちゃん相手に会計中。とりあえず来たぞ!ってアイコンタクトをとってから立って待っていたのだけれども、おじいちゃんが領収書!なんて言うもんだから、待合席に座って待つことにした。会計も終わったので兄ちゃんが席に案内してくれるかなぁーと思ったら、なんと無視しやがった。一分立っても案内しないもんだから、別のウエイトレスを自分から呼んで案内してもらうハメに。腹がたったので二度といくもんか。
今日やったこと
- 社内ミーティングに参加。
- プロジェクト反省会ために実績データを纏めている最中。
- PLCのファームアップ。
- 読書(アート・オブ・プロジェクトマネジメント)。十五章まで読んだ。(*1)
--------------------------------------------------------------------------------
*1・・・開発終盤になると、バグの難易度が上がってたらい回しになるって書いてあったけど確かにそのとおりだな。難易度が上がるから進捗率も上がらないわけか。トリアージとウォーチームという単語は初めて聞いたな。どちらともあぁーこの事か!と思う事ではあったけど、自分が実施していることではなかった。トリアージがバグを見極めて優先度や深刻度、はたまた修正要否を決めて担当者にまわしたりすることで、ウォーチームが開発終盤に大きな権限を与えられてトリアージするチームのこと。開発終盤で『これは修正しない』なんて決めているのがウォーチームって事。あ、マイクロソフトではって事ね。

