其他分享
首页 > 其他分享> > weak_alias的定义和作用

weak_alias的定义和作用

作者:互联网

定义

/* Define ALIASNAME as a weak alias for NAME.
   If weak aliases are not available, this defines a strong alias.  */
# define weak_alias(name, aliasname) _weak_alias (name, aliasname)
# define _weak_alias(name, aliasname) \
  extern __typeof (name) aliasname __attribute__ ((weak, alias (#name)));

参考代码:glibc/blob/master/include/libc-symbols.h

int
__fork ()
{
  __set_errno (ENOSYS);
  return -1;
}
libc_hidden_def (__fork)
stub_warning (fork)

同时存在弱符号和强符号,优先选择强符号,如果发现不存在强符号,只存在弱符号,则选择弱符号。

 

标签:__,定义,符号,weak,alias,aliasname,name
来源: https://www.cnblogs.com/nuoforever/p/15868984.html