C言語

gcovカバレッジ説明

gcovのカバレッジ出力の意味のメモ1.Lines executed 実行ラインをどれだけ通過したかを表す。C0カバレッジ2.Branches executed 条件分岐行をどれだけ実行したか。C1カバレッジ 3.Taken at least once 各条件分岐の組合せを1回は通過したか。C1カバレッ…

unity + cmockでC言語単体テスト環境を構築方法

C言語の単体テストフレームワークにunityなるものがある。 「モダンC言語」だとgoogle testをオススメしていたが、あれはC++テストフレームワークなので純粋なC言語テストフレームワークではない。 一方のunityは純粋なC言語フレームワークなので、純粋なC言…

windowsでlcovを使う

gcovは便利なツールですが、そのまま出力されたテキストを見てもは実行コードがいまいち分かりません。 そこでlcovというツールを使えば、gcovの結果をグラフィカルにかつコード行ごとの結果をhtml形式にまとめることができます。 しかし、lcovはWindows向け…

OpenFile()という化石API

需要はないと思うけど、OpenFile()という化石APIについて気づいたこと。OpenFile()を下記みたいな使い方をするとヒープにゴミが残る。 以下のコードはOpenFile(path, &of, OF_EXIST) を使ってファイルが存在するかどうかチェックしている。OpenFile(path, &o…