打印

在.h文件常常看到的东西

[复制链接]
3574|32
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
胡斯哲|  楼主 | 2013-6-29 00:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
NE5532| | 2013-6-29 08:19 | 只看该作者
控制编译命令,用于防止重复性的包含而报错,包含关系复杂一点,你不用就很难保证不出错了。

使用特权

评论回复
板凳
logokfu| | 2013-6-29 09:02 | 只看该作者
如果你一个头文件被一个工程里的两个文件同时include那么就得加这个话,不然爆错。恭喜你楼主,说明你的c语言还不过关。不过你即将走进规范化道路可喜可贺。

使用特权

评论回复
地板
dirtwillfly| | 2013-6-29 09:18 | 只看该作者
建议楼主找本C语言的教材看看吧,教材上讲得更细

使用特权

评论回复
5
胡斯哲|  楼主 | 2013-6-29 10:25 | 只看该作者
**kfu 发表于 2013-6-29 09:02
如果你一个头文件被一个工程里的两个文件同时include那么就得加这个话,不然爆错。恭喜你楼主,说明你的c语 ...

c语言刚过呢  91分   那上面没有说啊

使用特权

评论回复
6
sunhq02| | 2013-6-29 10:36 | 只看该作者
胡斯哲 发表于 2013-6-29 10:25
c语言刚过呢  91分   那上面没有说啊

教材上一般不会讲这种工程技术性质的东西
你得在实用性的书上才能看到
或者看别人的代码

使用特权

评论回复
7
胡斯哲|  楼主 | 2013-6-29 11:15 | 只看该作者
sunhq02 发表于 2013-6-29 10:36
教材上一般不会讲这种工程技术性质的东西
你得在实用性的书上才能看到
或者看别人的代码 ...

平时用一个.c文件就好了 很简单  可是看别人用了几个.c还加几个.h文件

使用特权

评论回复
8
胡斯哲|  楼主 | 2013-6-29 11:26 | 只看该作者
NE5532 发表于 2013-6-29 08:19
控制编译命令,用于防止重复性的包含而报错,包含关系复杂一点,你不用就很难保证不出错了。 ...

试了下  真可以  就是文件太多了

使用特权

评论回复
9
328553323| | 2013-6-29 11:32 | 只看该作者
:lol 当年我也是带着这个疑问入门的,当时一看代码,觉得学校教的只是可以让你入门的东西,入门之后还得自己多熟悉,多问多看多动手。

使用特权

评论回复
10
328553323| | 2013-6-29 11:34 | 只看该作者
本帖最后由 328553323 于 2013-6-29 11:53 编辑
胡斯哲 发表于 2013-6-29 10:25
c语言刚过呢  91分   那上面没有说啊


:lol  考试考100分都跟工作没关系,一般在C语言书最后两章的样子,只是老师他们不讲而已。不是没有说,是你没仔细看。

使用特权

评论回复
11
logokfu| | 2013-6-29 12:13 | 只看该作者
胡斯哲 发表于 2013-6-29 10:25  c语言刚过呢 91分 那上面没有说啊

教材基本只是单纯的讲语法。很少涉及那种系统性的完整的工程例子吧。做工程,代码多了自然而然就需要这个了,你可以慢慢体会,恭喜你搂组,可喜可贺,你进步了。

使用特权

评论回复
12
wangyy608| | 2013-6-29 12:31 | 只看该作者
胡斯哲 发表于 2013-6-29 11:26
试了下  真可以  就是文件太多了

你可以把几百几千几万。。。。。。。。。。。。。。。行程序放在一个.C下试试

使用特权

评论回复
13
原野之狼| | 2013-6-29 12:45 | 只看该作者
Open Source

使用特权

评论回复
14
胡斯哲|  楼主 | 2013-6-29 14:13 | 只看该作者
wangyy608 发表于 2013-6-29 12:31
你可以把几百几千几万。。。。。。。。。。。。。。。行程序放在一个.C下试试 ...

就是啊   我原来都放在。h文件里头

使用特权

评论回复
15
胡斯哲|  楼主 | 2013-6-29 14:15 | 只看该作者
**kfu 发表于 2013-6-29 12:13
教材基本只是单纯的讲语法。很少涉及那种系统性的完整的工程例子吧。做工程,代码多了自然而然就需要这个 ...

我明明可早就进步的  可是现在才提出问题来

使用特权

评论回复
16
胡斯哲|  楼主 | 2013-6-29 14:16 | 只看该作者
原野之狼 发表于 2013-6-29 12:45
Open Source

版主  啥意思 开源?

使用特权

评论回复
17
胡斯哲|  楼主 | 2013-6-29 14:26 | 只看该作者
328553323 发表于 2013-6-29 11:34
考试考100分都跟工作没关系,一般在C语言书最后两章的样子,只是老师他们不讲而已。不是没有说,是 ...

这个我们学校发的那本书上最后几章看的最后几章时就不来烦了  讲的是文件没怎么用的东东  这帖子提到的东西真没仔细看   刚上网查了下   有点懂  我理解就是这样的    如果前面的程序对着个文件的函数已经初始化(定义) 就不必在初始化(定义) 简单点说就和if  else一样 只不过后面跟的判断语句有区别  可以这样理解吧?:):)

使用特权

评论回复
18
菜鸟集中营营长| | 2013-6-29 15:29 | 只看该作者
楼主写的都是一些简单的代码,没看见过复杂的;为什么需要那么多文件,主要是模块化思想;整个系统分为好多个子系统,每个子系统都有自己的职能,不同系统之间相互联系;一般在主程序中只管调用子系统,而不关心其内部是如何实现的,就像类似的黑盒子实验;模块化思想还有一个好处,容易寻找问题的症结且理解起来相对容易些;这就是为什么微软聘请的几千位软件工程师写一个系统而不会出现混乱的情况,因为每个人都各司其职,互相配合。

使用特权

评论回复
19
logokfu| | 2013-6-29 16:49 | 只看该作者
胡斯哲 发表于 2013-6-29 14:16  版主 啥意思 开源?

像单片机这种程序,一般一个工程下来软件都是由一个工程写的。但是电脑上的好多大型软件,那可不都是一个人来完成的啊。一个团队来做,分模块,你装软件会看见好多dll文件那个是动态链接库。常用的部分被封装成一个dll供其它模块调用。一个dll其实可以作为一个专门的产品来卖。比如你要做很炫酷的界面效果,比如qq的皮肤啥的。那个都已经牵扯到专用的皮肤了。人家专门有公司来替你开发,你买过来直接总就是了。这个之间必然会牵扯到函数重名,变量重名。这个其实叫预编译条件。当然还有其它的预编译条件。你在工程中合理使用可以很方便的管理你的工程。算是一种技巧了。还有就是关于局部变量和静态变量之间的关系。为什么能用局部不用全局呢。希望你能够理解掌握。建议搂组手里备一本权威点的c语言教材。趁热打铁。因为你已经注意到了这些不起眼却很大作用的东西了。你要进步了。还是那句,可喜可贺。

使用特权

评论回复
20
logokfu| | 2013-6-29 16:55 | 只看该作者
胡斯哲 发表于 2013-6-29 14:26  这个我们学校发的那本书上最后几章看的最后几章时就不来烦了 讲的是文件没怎么用的东东 这帖子提到的东 ...

其实有时候学校的老师教课的时候会误导学生,往往实际工程种重要的部分,老师却恰好说不重要。讲课过程中会给你隔过不讲。其实这样很不好。我说下我的理解。就c语言来说,不管哪一个课本,不管怎么讲,没有什么非重点,教材上面的知识单片机几乎都要用到,结构体,链表都有可能用到,尤其是嵌入式更是不可少。希望你能把课本都看明白。

使用特权

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

本版积分规则

个人签名:读书喝茶,不争朝夕

141

主题

1431

帖子

6

粉丝