为库函数定义编译器警告/错误

时间:2012-02-14 11:08:53

标签: c gcc attributes compiler-warnings

我想知道是否有可能为特定的库函数生成编译器警告或错误。

例如,我一直在多线程程序上工作,每当我尝试使用像strtok这样的非线程安全函数(而不是strtok_r)时,我想得到编译器警告。

感谢。

2 个答案:

答案 0 :(得分:6)

您想使用毒性编译指示:http://gcc.gnu.org/onlinedocs/gcc-3.2/cpp/Pragmas.html

#pragma GCC poison strtok

答案 1 :(得分:1)

您可以创建一个脚本,根据禁止符号列表检查生成的代码。例如。 this script是一个很好的起点;虽然您可能希望修改它以通过readelf或nm检索符号,而不是直接使用目标代码。