C语言中#ifnedef #define #endif在头文件的作用?
答案:3 悬赏:40 手机版
解决时间 2021-01-07 18:32
- 提问者网友:趣果有间
- 2021-01-06 19:19
C语言中#ifnedef #define #endif在头文件的作用?
最佳答案
- 五星知识达人网友:第幾種人
- 2021-01-06 20:08
节省编译时间和资源,提高代码效率。
这是很好的编程习惯。追问难道只是为了编译时间和资源,提高代码效率吗?追答在大型工程中,有许多人来完成一个项目,那么就不可避免会有许多头文件,甚至会互相套用代码,那么就要用到别人的头文件。A用了C的一段代码,A的代码中就有 #include "cccc.h" ,而B也要用C的这段代码,那么B的代码中也会有 #include "cccc.h" ;最后AB的代码在一个工程下编译时,就会重复编译C的头文件cccc.h 。加入n多个人都要用,就编译n次,浪费时间,还没有意义,因为主函数只需要编译一次就可以了。
这是很好的编程习惯。追问难道只是为了编译时间和资源,提高代码效率吗?追答在大型工程中,有许多人来完成一个项目,那么就不可避免会有许多头文件,甚至会互相套用代码,那么就要用到别人的头文件。A用了C的一段代码,A的代码中就有 #include "cccc.h" ,而B也要用C的这段代码,那么B的代码中也会有 #include "cccc.h" ;最后AB的代码在一个工程下编译时,就会重复编译C的头文件cccc.h 。加入n多个人都要用,就编译n次,浪费时间,还没有意义,因为主函数只需要编译一次就可以了。
全部回答
- 1楼网友:底特律间谍
- 2021-01-06 21:51
防止变量重名什么的,比如有些宏是不能随便包含的。这样容易会导致编译器报错追问不懂
- 2楼网友:一把行者刀
- 2021-01-06 20:32
#开头的是预编译命令,用你所说的几个宏之后,实现了防止头文件重复包含的作用,编译的时候每个头文件是要占用内存空间的。如果仅仅是重复了一个文件没什么,但倘若是在一个相当大的工程里,如果成千上万的文件被重复包含的时候,内存开销就很大了。
我是这么理解的。希望有更明白的不吝赐教
我是这么理解的。希望有更明白的不吝赐教
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯