大規模なC/C++コードベースのprintfスタイルのフォーマット文字列の内容と引数を更新しました。コードは正常にコンパイルされますが、実際にこれらのエラーを取得して、変更が正しいことを確認するのは困難です。
正しい番号を持つためにフォーマット文字列を検証できるツール/コンパイラオプションはありますか?引数の。依存関係などが予想される場所に存在する必要があるため、すべてをコンパイルしようとしないと便利です。
簡単なスクリプトを書くことはできましたが、既存のものを再利用して、コーナーケースも処理することができました。
何かのようなもの :-
% cat test.c
#include <iostream>
#include "dependency2.h"
int main()
{
function2(log, "You encountered a common error %s: %d", error)
}
% somenicetool test.c
5: too few arguments
私はclangを試しましたが、最初のエラーはこれです:-
% clang -fsyntax-only test.c
#include "dependency2.h"
^
file not found
1 error generated