| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2883 人关注过本帖
标题:C语言中的头文件都由什么组成呀
只看楼主 加入收藏
不忘
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2012-7-18
结帖率:80%
收藏
已结贴  问题点数:5 回复次数:4 
C语言中的头文件都由什么组成呀
我知道头文件里有一下库函数,看书的时候又知道有些里面还有一下特殊的数据结构,好比是结构或者联合,还可以是枚举。
但这些只是大概的感觉,不是太肯定。头文件里是不是还可以有其他的????
还有就是,对于编译器好比是TC提供的头文件,如stdio.h.能在哪里看到stdio.h的全部信息?
也许问的问题比较低级,但还是想请大神们给解决一下!!!
搜索更多相关主题的帖子: 编译器 C语言 
2012-07-23 23:55
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:5 
准确地说,是叫“头”,头文件(即.h)只是头的一个组成部分,只具备函数原型声明和数据结构定义等内容,完整的头还包括实现所声明的函数的具体实现,后者是在运行库中的(在链接时嵌入最终可执行文件或以动态运行库的形式提供,TC/BC系列往往是.LIB库),你看不到源代码。

要看stdio.h的内容,打开TC安装文件夹中的include子文件夹,就能看到全部的.h头文件,可以打开看到,因为那是纯粹的文本文件。另外一个文件夹是.LIB,你可以看到文件名,是二进制机器码文件。

TC另外也有以.OBJ、.BGI形式提供的模块,比如它特有的图形驱动程序,也是要用到的,这些可执行程序编译时不嵌入到.exe,但.exe执行时需要找到这些模块,否则图形功能失效(这是TC自己驱动显示卡的东西,没有使用操作系统的驱动,故只能固定它自己规定的有限图形模式和分辨率,MSC是使用硬件厂商提供的驱动程序的)。这些模块,没必要全部嵌入到.exe中,因为如果每一个程序都嵌入这些代码,那么每一个.exe都膨胀得很厉害,而且是无谓的重复,占空间,TC这样设计,本意也是让你把它们当DLL那样用的,它当时想针对市面上各种显示卡推出对应的驱动程序(TC的图形驱动代码是相当快的,这是其最显著的特色),当你使用AUTO模式启动图形模式时,就可以适应不同的显示卡。可是Borland推出图形驱动的速度绝对跟不上市场上新产品的速度,其实在当时除了流行的640*350和640*480分辨率之外,还有一种独特的640*400显示卡模式,用TC/BC编程就使用不了,只能把这样的卡当640*350使用,在当时来说,少了50点的高度,效果差很远了,而MSC就不会出这种问题,所以MS的胜利,不是偶然的。随着后面形形色色不同分辨率、颜色深度和屏幕尺寸的多样化,TC/BC更跟不上更新速度,绕开操作系统和硬件驱动自成体系的路线,注定走不了多远,Delhpi的衰落,实际上也是同样的原因。

授人以渔,不授人以鱼。
2012-07-24 04:58
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:0 
多数C的IDE环境中,在include文件上单击右键,弹出菜单中有打开文件菜单项

★★★★★为人民服务★★★★★
2012-07-24 06:06
不忘
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2012-7-18
收藏
得分:0 
在追问一个问题:
void on_timer(int (*)())
{
    segread(&seg);
    stack=programsize*16;
    oldtimer=getvect(0x1c);在这里就会编译出错,说是con't convert  void (interrupt far*)(...)to void (interrupt far *)()
}                          我在网上找了一下翻译说是    不能转换无效(中断*远#(……)无效#中断*远
这是不是因为我对getvect函数的用法没有用好,还是因为别的原因。因为我用的是在WINDOW7系统运行的TC,应该是虚拟机吧。这会不会对一些函数的使用造成影响!
2012-07-24 11:07
不忘
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2012-7-18
收藏
得分:0 
就没有人回复了吗?亲!急用呀!
2012-07-25 16:17
快速回复:C语言中的头文件都由什么组成呀
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029917 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved