文件防包含的问题

cxyol 2006-08-30 02:14:26
我们都知道头文件中用类似:
#ifndef _CMS_MMS_PROVIDE_H
#define _CMS_MMS_PROVIDE_H
。。。。。。。。
#endif
的方法来访止重复包含。
可是我最近在做的一个项目前期的代码中几乎每个源文件(.c)都是用了类型:
#ifndef GUI_LISTBOX_C
#define GUI_LISTBOX_C
。。。。。。

#endif

想不通是什么用处,谁来解释解释
...全文
202 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxyol 2006-09-04
  • 打赏
  • 举报
回复
请问做过大项目的 兄弟?

你们遇到过 .c文件中也有大量的类似
#ifndef GUI_LISTBOX_C
#define GUI_LISTBOX_C
...
#endif

防包含的预编译代码吗?

这个又是做什么用的。因为我们最近在展讯手机MMI平台中遇到了大量的这样的代码。
实在是想不明白这是 干什么用的。
ykyukun 2006-09-04
  • 打赏
  • 举报
回复
其实跟头文件防包含意义一样.
手机MMI很多系列的手机往往用同一个工程.
可能有些是翻盖的,有些不是翻盖的,往往有些.C文件不需要执行,所以就这样定义.
minico 2006-08-30
  • 打赏
  • 举报
回复
也就是说不只是.h文件可以被包含;
.c文件同样可以的。
格兰特杨 2006-08-30
  • 打赏
  • 举报
回复
guilistbox.h里有没有相应的东东呢?若没有还是有道理的...
格兰特杨 2006-08-30
  • 打赏
  • 举报
回复
查查你的代码里有没有#include 一些c文件吧。
cxyol 2006-08-30
  • 打赏
  • 举报
回复
这是一个手机软件的工程,我查过了没有地方会包含这个guilistbox.c,因为它也有对应的头文件guilistbox.h, 我想可能是写该代码的人风格的文题,这里或许没有用吧!

to Rainyor(雨人) :谢谢,我明白。
vs_net 2006-08-30
  • 打赏
  • 举报
回复
关注以下
Rainyor 2006-08-30
  • 打赏
  • 举报
回复
说的不是特别明白,表达能力不行。意思是正确的,自己想一想吧
Rainyor 2006-08-30
  • 打赏
  • 举报
回复
呵呵,很简单啊
#ifndef GUI_LISTBOX_C
#define GUI_LISTBOX_C
...
#endif

在文件开头是判断有没有#define GUI_LISTBOX_C
当你第一次包含该文件时
肯定没有#define GUI_LISTBOX_C
那就#define GUI_LISTBOX_C, 包含文件的内容
当你以后包含时,已经#define GUI_LISTBOX_C了
就跳到#endif后面了。

格兰特杨 2006-08-30
  • 打赏
  • 举报
回复
GUI_LISTBOX_C 一定是在什么地方被 #include过了。
C也是可以include的,不过是一个扩展名罢了。

70,039

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧