LoginSignup
0
0

More than 5 years have passed since last update.

printf チェッカー

Posted at

私の C コンパイラのテスト環境は、ほとんどが printf を使ったものでして、当初これらのテストを作成したとき、printf の書式文字列に無頓着でした。

unsigned int ui;
long int li;
...
printf("ui = %d li = %x\n", ui, li);

のようなコードを多数書いてしまったのです。最近、このようなテストを修正しなければならないはめになってしまいました。本来なら

printf("ui = %u li = %lx\n", ui, li);

とでもして %d や %x ではなく %u や %lx とするべきでした。

そこで、printf の書式文字列に対して、引数が妥当かどうかをチェックする簡単なツールがあったらどうかと考えてみたのです。

例えば, 上のようなコードに対しては

%d に unsigned int が指定されている
%x に long int が指定されている

といった警告メッセージを出力するものです。

0
0
10

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0