![]() |
|
||||||||||||||
| | 首页 | 新闻 | 文库 | 方案 | 技术 | 独家 | 座谈 | 下载 | 图库 | 开发板 | 仿真器 | 邮购 | VIP | 芯片 | 客户评价 | 论坛 | | ||
|
||
|
|||||
| uclinux-2008R1-RC8(bf561)到VDSP5的移植(15):WARN() | |||||
作者:快乐虾 文章来源:http://blog.csdn.net/lights_joy 点击数: 更新时间:2008-5-6 ![]() |
|||||
|
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();
}
这样,当运行到此函数时,将输出一个提示信息并停下,我们再去掉此函数体的注释,嘿嘿…………..
|
|||||
| 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 本站介绍 | 合作联络 | 欢迎投稿 | 广告业务 | 网站地图 | 设为首页 | 加入收藏 | 友情链接 | 网站公告 | 联系我们 | | |||
|