原创 关于ifndef

2008-12-8 15:10 3170 8 9 分类: MCU/ 嵌入式

千万不要忽略了头件的中的#ifndef,这是一个很关键的东西。比如你有两个C文件,这两个C文件都include了同一个头文件。而编译时,这两个C文件要一同编译成一个可运行文件,于是问题来了,大量的声明冲突。

还是把头文件的内容都放在#ifndef和#endif中吧。不管你的头文件会不会被多个文件引用,你都要加上这个。一般格式是这样的:

#ifndef <标识>
#define <标识>

......
......

#endif

<标识>在理论上来说可以是自由命名的,但每个头文件的这个“标识”都应该是唯一的。标识的命名规则一般是头文件名全大写,前后加下划线,并把文件名中的“.”也变成下划线,如:stdio.h

#ifndef _STDIO_H_
#define _STDIO_H_

......

#endif


这是我查看一个USB程序的头文件不明白之后百度一下的结果,为了让自己记住,就贴出来了


后记:一个月来,在公司加班居多,有了项目自然就忙,结果赶工一个星期,自己真正意义上第一个项目的板子诞生了,当然,错误也颇多,丝印反了器件选型错误了等等,板材没有按客户要求,结果证明我的第一板是比较失败的,呵呵,学习中吧


本来要继续的USB接口技术的学习计划就暂停了许久,板子是焊好了,书也买到了,就是没时间琢磨了,另外ilove314同学的CPLD学习板也推荐给我,这样我确实要抓紧了,先腾出时间搞定USB,等年后看看进军CPLD学习,,,,,工作也很要紧,今年经济形势很糟糕,在这个时候忙一点不是坏事。

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

ilove314_323192455 2009-1-31 10:33

加油兄弟
相关推荐阅读
用户153164 2009-02-18 14:29
DS12887
用DS12887+1602液晶搞时钟出了问题uchar ds12887read(uchar addr){ uchar temp; CS=0; AS=0; DS=1; RW=1; AS=1; P0=ad...
用户153164 2009-02-07 14:33
继续学习51-搞个简单的方波
开年回来后,就折腾了这个小东西有人需要一个可调方波,很简单的花了2个晚上搭出来个用51单片机IO口输出的占空比和频率可调的方波 至于以后的完善当然是最好用单片机控制波形发生器芯片咯废话少说先看prot...
用户153164 2008-11-04 22:26
51开发板学习之定时器与电子钟
已经好久没有登陆EDN了最后一个51例程也在2个星期之前就做完了,这个时期也算是在调整吧加入的电子园的USB学习小组,也申请了免费PCB,并且两次跑到元器件市场终于买到了大部分的零件,下一个阶段就准备...
用户153164 2008-09-30 19:53
1602液晶初学试用
今日无事,就把1602液晶试着跟这教程走了一遍边抄边自己写  写了一点代码 感觉目前按模块来学习51还是蛮轻松的,这种学习效率也挺高的。不说了,先从原理图和1602的datasheet开始了本人的开发...
用户153164 2008-09-28 10:53
开博了
从今日开始技术类blog在Edn开博啦 我是个51单片机初学者  目前也刚进公司  什么都处于学习阶段请各位高手多多指点!...
EE直播间
更多
我要评论
1
8
关闭 站长推荐上一条 /3 下一条