重复include一个文件编译运行的时候会不会有问题,语法是否不合规定?

sundotnet 2004-09-06 04:02:43
我的一个project中,有很多.c文件,有些需要#include同一个.h(.c)文件,如果我在不同的文件里#include了同一个.h(.c)文件会不会出错。如果会的话,应该怎么办?是否要写宏,怎么写?
...全文
240 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zgy166 2004-09-07
  • 打赏
  • 举报
回复
名字是你自己定的,#ifndef __TIME_H__和#ifndef TIME_H
都可以。
Vigorcsdn 2004-09-07
  • 打赏
  • 举报
回复
#ifndef ___yourname___
#define __yourname__
.......
.......//your code here
#endif
reference to the stl .h files,this could aviod the re-define according to the .h files
tyffly 2004-09-06
  • 打赏
  • 举报
回复
是不是应该#ifndef __TIME_H__?
comebaby 2004-09-06
  • 打赏
  • 举报
回复
#ifndef TIME_H
#define TIME_H




#endif
sundotnet 2004-09-06
  • 打赏
  • 举报
回复
我是要改写程序,需要
#include <time.h>
但是我怕别的地方已经include过了。所以不知道怎么写。
  • 打赏
  • 举报
回复
___xteaj001___是我自己取的名字,你可用你自己的命名方式,只要和系统的不冲突即可。
herryhuang 2004-09-06
  • 打赏
  • 举报
回复
同上,另外,不要包含.c文件
shajw 2004-09-06
  • 打赏
  • 举报
回复
嵌套包含是可以的,但你不能在一个文件中包含这样两个文件:即有两个文件恰好都包含了同一个声明或定义。
一个推荐的做法是,你可以把你的项目中所有要用到的头文件在一个.h文件罗列出来,在其他的文件中只需要包含这个头文件即可!
  • 打赏
  • 举报
回复
一般,工程中,不会包含一个*.c文件,在工程中加入即可,
在*.h中以上代码应该很常见。
  • 打赏
  • 举报
回复
一般标准头文件都有办法阻止重复包含。用下列宏命令。
#ifndef ___xteaj0001___
#define ___xteaj0001___
.......
.......//你的代码
#endif

这样如果重复包含就不会有问题.

70,037

社区成员

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

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