可以用来避免冲突,解决KW告警等。
定义一个函数为弱函数有两种方式
1. 使用“#pragma week function”
2. 函数后面加“ __attribute__((weak))”,
static int safe_access(const char *pathname, int mode)
{
return access(pathname,mode);
}
static int bsp_access(const char *pathname, int mode)
__attribute__((alias("safe_access"))); // safe_access
static int safe_open(const char*pathname,int flags,mode_t mode)
{
return open(pathname,flags,mode);
}
static int bsp_open(const char*pathname,int flags,mode_t mode)
__attribute__((alias("safe_open")));
static int safe_write(int fd, const void *buf, size_t nbyte)
{
return write(fd,buf,nbyte);
}
static int bsp_write(int fd, const void *buf, size_t nbyte)
__attribute__((alias("safe_write")));