2012-02-14 9 views
3

特定のライブラリ関数に対してコンパイラの警告やエラーを生成することが可能かどうか疑問に思っています。ライブラリ関数のコンパイラの警告/エラーを定義します

たとえば、私はマルチスレッドのプログラムで常に作業しています。strtok_rの代わりにstrtokのようなスレッドセーフでない関数を使用しようとするたびに、コンパイラの警告を出すことをお勧めします。

ありがとうございました。

答えて

6

あなたは毒プラグマを使用したい:http://gcc.gnu.org/onlinedocs/gcc-3.2/cpp/Pragmas.html

#pragma GCC poison strtok 
+0

+1ですが、これはエラーの原因になり、警告ではありません – ouah

+0

私はエラーを生成することにも興味があります。私は質問を更新しました。 – ziu

+0

1つのオプションは、すべての警告をエラーに昇格させる '-werror'です。 –

1

あなたが禁止されたシンボルのリストに対して生成されたコードをチェックするスクリプトを作成することができます。例えば。 this scriptは良い出発点です。オブジェクトコードを直接greppingするのではなく、readelfまたはnmを使ってシンボルを取得するように修正することもできます。

関連する問題