Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 操作系统 > Linux > ads中关于函数指针转换的很奇怪的问题
【标  题】:ads中关于函数指针转换的很奇怪的问题
【关键字】:ads
【来  源】:http://blog.csdn.net/luocolor/archive/2007/01/20/1488442.aspx

ads中关于函数指针转换的很奇怪的问题

Your Ad Here

 在isr.c中有

void (*InterruptHandlers[MAXHNDLRS])(void)={NULL,};

如果只是这样,在ads中编译编译报错,具体为:

Error    :C2456E: undeclared name, inventing 'extern int NULL'
Error    :C2922W: '=': cast between function pointer and non-function object.
Error    :(Serious) C2432E: non-constant initialiser

通过比较别人的代码,然后在isr.c中include "def.h",
def.h具体为

#ifndef __DEF_H__
#define __DEF_H__

#define U32 unsigned int
#define BOOL int
#define U16 unsigned short
#define S32 int
#define S16 short int
#define U8  unsigned char
#define    S8  char
#define u32 unsigned int
#define u16 unsigned short
#define s32 int
#define s16 short int
#define u8  unsigned char
#define    s8  char
#define TRUE     1
#define FALSE     0
#define OK        1
#define FAIL    0
#define NULL    0

#endif /*__DEF_H__*/

然后编译,居然通过了,这里面的蹊跷是怎么样的呢?????

我在vc6.0里面定义void (*InterruptHandlers[MAXHNDLRS])(void)={NULL,};
编译正确。

所以,这里面因为ads对指针有什么不一样吗?

computer00

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

NULL可不是C语言的关键字.

 

luocolor

改成0就可以了。!
看来现在的学生,包括我,大多数都被MS的东西惯坏了!
现在突然想起linux下的编程就没有像VC里面那样定义NULL了。
唉~!!!!

apache+mysql+php 源码安装:【上一篇】
OpenOBEX代码阅读笔记:【下一篇】
【相关文章】
  • Processes and Threads
  • ADSL网关流量控制
  • 教你穿透ADSL路由入侵内网
  • ADSL远程盗号竟如此简单
  • ADSL pppoe vpn QoS数据包计划程序
  • FreeBSD NAT 上接兩條 ADSL 若斷線時自動偵測切換路由(留着以后参考)
  • 控制IIS的ADSI类现在拿出来和大家分享吧
  • linux下adsl拨号,24小时online注意事项 [摘]
  • 新年献礼:利用ADSL+3322自架服务器 [转]
  • 警惕!ADSL远程盗号竟如此简单
  • 【随机文章】
  • Fireworks4.0大内秘籍之——两仪剑法
  • ASP生成过渡色的子程序!
  • Oracle应用Linux开发C
  • 香港娱乐圈与黑社会大揭密(多图)
  • 漏洞分类及发掘讲座
  • 赛门铁克硬件防火墙、入侵检测资料
  • 备份和修复Linux LILO指南(st)
  • Authorware6.5轻松学:三、直观灵活的程序语句
  • sco unixware 7.1.1 全面学习资料(2)
  • 综合布线技术综述
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.