uclinux-2008R1-RC8(bf561)到VDSP5的移植(15):WARN()

本文介绍了一种在Uclinux内核中处理函数链接错误的方法,通过定义WARN宏来定位未实现的函数,逐步去除注释以启用函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
  
Uclinux的内核中有许多函数并不是一开始就调用的,而只是做为一个函数指针来使用,为了避免一开始就产生过多的链接错误,在config.h中定义了一个宏:
 
#ifndef __ASSEMBLY__
     #include <ccblkfn.h>
     #include <stdio.h>
#endif
 
#define WARN()     do {fprintf(stderr, "code omited: %d @ %s/n", __LINE__, __FILE__); while(1) idle();} while(0)
当发生链接错误时,首先找出函数体,并在其后加上WARN();如下所示:
 
static void
default_handler(int var_segment, struct pt_regs *regp)
{
//   set_personality(0);
//
//   if (current_thread_info()->exec_domain->handler != default_handler)
//       current_thread_info()->exec_domain->handler(var_segment, regp);
//   else
//       send_sig(SIGSEGV, current, 1);
     WARN();
}
这样,当运行到此函数时,将输出一个提示信息并停下,我们再去掉此函数体的注释,嘿嘿…………..
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌云阁主

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值