打印

C语言中一个文件中的定义如何在其它文件中引用?

[复制链接]
2964|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
arm_start|  楼主 | 2008-2-12 09:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
hotpower| | 2008-2-12 10:32 | 只看该作者

搞个公共的头文件

A.C只包含A.H,B.C只包含B.H,....Z.C只包含Z.H.
再搞个includes.h,每个A.H,B.H,...Z.H都包含这个includes.h
在includes.h中再包含所有的A.H,B.H,...Z.H

使用特权

评论回复
板凳
arm_start|  楼主 | 2008-2-12 11:50 | 只看该作者

为什么这样?

搞个公共的头文件 

1:A.C只包含A.H,B.C只包含B.H,....Z.C只包含Z.H.
2:再搞个includes.h,每个A.H,B.H,...Z.H都包含这个includes.h
3:在includes.h中再包含所有的A.H,B.H,...Z.H
 
 
第1/2步好理解,第3步为什么?第3步有什么作用啊?这样岂不是重复包含了?
这到是可以通过ifndef处理,但假如A.C中并没有用到B.H中的定义,可也把它包含进去了,虽然也没什么问题,但没用到却加进去了总感觉怪怪的啊?!

使用特权

评论回复
地板
hotpower| | 2008-2-12 11:59 | 只看该作者

includes.h只包含大家公用的,无用的你包含它何用?

使用特权

评论回复
5
arm_start|  楼主 | 2008-2-12 13:02 | 只看该作者

变量和函数都可以通过extern来指定在外部定义过

呵呵,为什么当初制订规则的时候,define没有规定也可以通过extern使用呢?

使用特权

评论回复
6
fsaok| | 2008-2-12 13:08 | 只看该作者

头文件是C的错

真的觉得很麻烦,java文件就没有这个限定,不需要做头文件,只需要定义好公共和私有就OK了,fsa,永远OK

使用特权

评论回复
7
gyt| | 2008-2-12 13:45 | 只看该作者

过去硬盘内存都小

使用头文件是必要的

使用特权

评论回复
8
HWM| | 2008-2-13 14:50 | 只看该作者

六楼:“头文件是C的错”?实在是没有领会“头文件”妙趣

使用特权

评论回复
9
程序匠人| | 2008-2-13 15:03 | 只看该作者

听课

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

31

帖子

0

粉丝