static void axfr_error(****) __attribute__ ((__noreturn__)); 这是什么声明?

njuhuangmy 2003-10-27 11:15:23
一个 .c file , 如下代码
声明后 定义。 请问声明后面的 __attribute__((__noreturn__)) 是
什么意思啊??


static void axfr_error(TASK *, const char *, ...) __attribute__ ((__noreturn__));

static void
axfr_error(TASK *t, const char *fmt, ...)
{
va_list ap;
char msg[BUFSIZ];

va_start(ap, fmt);
vsnprintf(msg, sizeof(msg), fmt, ap);
va_end(ap);

if (t)
Warnx("%s: %s", desctask(t), msg);
else
Warnx("%s", msg);

#if HAVE_SHUTDOWN
shutdown(t->fd, 2);
#endif
close(t->fd);
_exit(EXIT_FAILURE);
}
...全文
128 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sjjf 2003-10-27
  • 打赏
  • 举报
回复
关注
idontlikenickname 2003-10-27
  • 打赏
  • 举报
回复


不是宏定义,是Linux下的gcc编译器特有的扩展~~

sham2k 2003-10-27
  • 打赏
  • 举报
回复
应该是个宏的定义,看看其他地方有没有。。

70,022

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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