像 fn 一样检查 bian can 变长参数是否契合
n
: format 字符串是第几个参数
m
:fn 对应的第一个变长参数是第几个参数
- Linux 提供了一些 wrapper:
__printf(n, m)
:像 printf
一样检查参数
__scanf(n, m)
:像 scanf
一样检查参数
- e.g.:
__attribute__ ((__nonnull__ params))
§
静态检查某个参数是否为 NULL
- e.g.:在 libc 中提供的泛型排序函数,需要保证
compar
不是 NULL