缺少gcc__属性__((null))的解决方法可用吗?
gcc有一个属性nonnull,如果签名为nonnull的参数测试为NULL,则该属性会创建一个警告。该属性假定该参数从不为NULL 好的,我需要相反的结果:因为我想保存我的库空指针…这意味着如果我取消引用标记为NULL的指针,而未选中为非NULL将生成警告: 例如:缺少gcc__属性__((null))的解决方法可用吗?,c,gcc,C,Gcc,gcc有一个属性nonnull,如果签名为nonnull的参数测试为NULL,则该属性会创建一个警告。该属性假定该参数从不为NULL 好的,我需要相反的结果:因为我想保存我的库空指针…这意味着如果我取消引用标记为NULL的指针,而未选中为非NULL将生成警告: 例如: struct TESTS { int a1; ... } void test (struct TESTS *p) __attribute__((null)); ... void test (struct TESTS *p
struct TESTS {
int a1;
...
}
void test (struct TESTS *p) __attribute__((null));
...
void test (struct TESTS *p) {
p->a1 = 5; // WARNING!! because p is **not** tested on **NULL**
...
看起来更像是静态代码分析器的工作