ads中关于函数指针转换的很奇怪的问题,哪位dx知道为什么不

[复制链接]
4449|3
 楼主| luocolor 发表于 2007-1-19 21:45 | 显示全部楼层 |阅读模式
在isr.c中有<br /><br />void&nbsp;(*InterruptHandlers[MAXHNDLRS])(void)={NULL,};<br /><br />如果只是这样,在ads中编译编译报错,具体为:<br /><br />Error&nbsp;&nbsp;&nbsp;&nbsp;:C2456E:&nbsp;undeclared&nbsp;name,&nbsp;inventing&nbsp;'extern&nbsp;int&nbsp;NULL'<br />Error&nbsp;&nbsp;&nbsp;&nbsp;:C2922W:&nbsp;'=':&nbsp;cast&nbsp;between&nbsp;function&nbsp;pointer&nbsp;and&nbsp;non-function&nbsp;object.<br />Error&nbsp;&nbsp;&nbsp;&nbsp;:(Serious)&nbsp;C2432E:&nbsp;non-constant&nbsp;initialiser<br /><br />通过比较别人的代码,然后在isr.c中include&nbsp;&quot;def.h&quot;,<br />def.h具体为<br /><br />#ifndef&nbsp;__DEF_H__<br />#define&nbsp;__DEF_H__<br /><br />#define&nbsp;U32&nbsp;unsigned&nbsp;int<br />#define&nbsp;BOOL&nbsp;int<br />#define&nbsp;U16&nbsp;unsigned&nbsp;short<br />#define&nbsp;S32&nbsp;int<br />#define&nbsp;S16&nbsp;short&nbsp;int<br />#define&nbsp;U8&nbsp;&nbsp;unsigned&nbsp;char<br />#define&nbsp;&nbsp;&nbsp;&nbsp;S8&nbsp;&nbsp;char<br />#define&nbsp;u32&nbsp;unsigned&nbsp;int<br />#define&nbsp;u16&nbsp;unsigned&nbsp;short<br />#define&nbsp;s32&nbsp;int<br />#define&nbsp;s16&nbsp;short&nbsp;int<br />#define&nbsp;u8&nbsp;&nbsp;unsigned&nbsp;char<br />#define&nbsp;&nbsp;&nbsp;&nbsp;s8&nbsp;&nbsp;char<br />#define&nbsp;TRUE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1<br />#define&nbsp;FALSE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0<br />#define&nbsp;OK&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1<br />#define&nbsp;FAIL&nbsp;&nbsp;&nbsp;&nbsp;0<br />#define&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;0<br /><br />#endif&nbsp;/*__DEF_H__*/<br /><br />然后编译,居然通过了,这里面的蹊跷是怎么样的呢?????<br /><br />我在vc6.0里面定义void&nbsp;(*InterruptHandlers[MAXHNDLRS])(void)={NULL,};<br />编译正确。<br /><br />所以,这里面因为ads对指针有什么不一样吗?
computer00 发表于 2007-1-20 00:15 | 显示全部楼层

是因为NULL没定义吧?你把NULL改成0,再编译试试?

NULL可不是C语言的关键字.
 楼主| luocolor 发表于 2007-1-20 01:16 | 显示全部楼层

呵呵

改成0就可以了。!<br />看来现在的学生,包括我,大多数都被MS的东西惯坏了!<br />现在突然想起linux下的编程就没有像VC里面那样定义NULL了。<br />唉~!!!!
computer00 发表于 2007-1-20 14:38 | 显示全部楼层

我不大喜欢用NULL,基本上都是用0的。既直观又简便

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

40

主题

105

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部