gcc 自己定义warning

lood339 2011-06-22 10:31:04
我现在需要定义一个gcc warning。
例子如下
Info i1;
Info i2;

init_info(&i1);
init_info(&i2);
....

clean_info(&s1);
clean_info(&s2);


warning的目的是如果 init_info 没有写对应的clean_info,就报warning。
这个在c++里面是语言支持的,将clean_info写入析构函数,但是现在我用的是纯C,所以想通过编译器来保证clean_info被执行。
代码段可以保证在一个{}大括号对内部。
谢谢。

...全文
109 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lucky-lucky 2011-06-22
  • 打赏
  • 举报
回复
学习了,这几天正在学习Linux编程
2011-06-22
  • 打赏
  • 举报
回复
#include <stdio.h>

struct Info
{
};

void info_dtor(struct Info * info)
{
printf("destroy at %p\n", info);
}

int main()
{
{
struct Info i1 __attribute__((cleanup(info_dtor)));
puts("Inside block");
}
puts("Outside block");
return 0;
}
赵4老师 2011-06-22
  • 打赏
  • 举报
回复
pclint
2011-06-22
  • 打赏
  • 举报
回复
gcc 的变量可以加 cleanup 属性,模拟析构函数的功能。
失落的凡凡 2011-06-22
  • 打赏
  • 举报
回复
不知道gcc有没有提供这种接口,估计是没有。实现应该很难。
就想叫yoko 2011-06-22
  • 打赏
  • 举报
回复
这么高级
学习一下~~

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧