浅析c语言函数库.doc

浅析c语言函数库.doc

ID:56225677

大小:346.00 KB

页数:42页

时间:2020-03-22

浅析c语言函数库.doc_第1页
浅析c语言函数库.doc_第2页
浅析c语言函数库.doc_第3页
浅析c语言函数库.doc_第4页
浅析c语言函数库.doc_第5页
资源描述:

《浅析c语言函数库.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、使用C语言的一半价值在于使用其标准库函数。当然,灵活的fo「循环以及数组和指针Z问的相似性也是C语言的重要价值。在解决实际问题时,能方便地操作字符串和文件等对象是最重要的,有些语言能出色地完成其屮的一部分工作,另一些语言能岀色地完成其屮的另一部分工作,然而,没有几种语言能象C语言那样能出色地完成全部丁作。c标准库屮还缺少很多函数,例如投有图形函数,茯至没有全屏幕文木操作函数,signal机制也相当弱(见12.10),并且根木没有对多任务或使用常规内存以外的内存提供支持。尽管C标准库存在上述缺陷,但它

2、毕竟为所有的稈序都提供了一套基本功能,不管这些程序是运行在多任务、多窗口的坏境下,还是运行在简单的终端上,或者是运行在一台昂贵的烤面包机上。C标准库屮所缺的函数可以从其它途径获得,例如编译稈序开发商和第三方的函数库部会提供一些函数,这些函数都是事实上的标准函数。然而,标准库屮的函数已经为程序设计提供了一个非常坚实的基础。12.1为什么应该使用标准库函数而不要自己编写函数?标准库函数有三点好处:准确性、高效性和可移植性。准确性:编译程序的开发商通常会保证标准库函数的准确性。更重要的是。至少开发商做了全

3、面的检测来证实其准确性,这比你所能做到的更加全面(有些昂贵的测试T具能使这项工作更加容易)。高效性:优秀的C程序员会大量使用标准库函数,而内行的编译程序开发商也知道这一点。如果开发商能提供一套出色的标准库函数,他就会在竞争屮占一优势。当对相互竞争的编译程序的效率进行比较时,一套出色的标准库函数将起到决定性的作用。因此,开发商比你更有动力,并且有更多的时间,去开发一套高效的标准库函数。可移植性:在软件要求不断变化的情况下,标准库函数在任何计算机上,对任何编译程序部具有同样的功能,并且表达同样的含义,因

4、此它们是C程序员屈指可数的几种依靠之O有趣的是,你很难找到一项关于标准库函数的最标准的信息。对于每一个函数,都需要有一个(在极少数情况下需要两个)保证能将该函数的原型提供给你的头文件(在调用任何一个函数时,都应该包含其原型,见&2)。有趣的是什么呢?这个头文件可能并不是真正包含该函数原型的文件,在有些(非常糟糕!)情况下,甚至由编译程序手册推荐的头文件部不一定正确。对于宏定义,typedef和全局变量,同样会发生这种情况。为了找到“正确的”头文件,你可以在一份ANSI/ISOc标准的拷贝屮查阅相应的

5、函数。如果你手头没有这样一份拷贝,你可以使用表12.20请参见:8.2为什么要使用函数原型?12.2为了定义我要使用的标准库函数,我需要使用哪些头文件?12.2为了定义我要使用的标准库函数,我需要使用哪些头文件?你需要使用ANSI/ISO标准规定的你应该使用的那些头文件,见表12.2o有趣的是,这些文件并不一定定义你要使用的函数。例如,如果你要使用宏EDOM,你的编译程序保证你能通过包含(ermo.h)W到这个宏,而(errno.h)可能定义了宏EDOM,也可能只包含定义这个去的头文件。更糟的是,编

6、译稈序的下一个版木可能会在另一个地方定义宏EDOMo因此,你不用去寻找真正定义一个函数的头文件并使用这个文件,而应该使用那个被假定为定义了该函数的头文件,这样做是肯定可行的。有儿个名字在多个头文件屮被定义:NULL,size」和wchar_to如果你需要其屮一个名字的定义,可以使用任意一个定义了该名字的头文件((stddef.h>是一个较好的选择,它不仅小,而且包含了常用的宏定义和类型定义)。表12.2标准库函数的头文件函数头文件abortstdlib.habsstdlib.hacosmath,ha

7、sctimetime,hasinmath,hassertassert.hatanmath,hatan2math,hatexitstdlib.hatofstdlib.hatoistdlib.hatolstdlib.hbsearchstdlib.hBUFSIZstdio.hcallocstdlib.hceilmath,hclearerrstdio.hclocktime,hCLOCKS-PER-SECtime,hclock_ttime,hcosmath,hcoshmath,hctimetime,hdiff

8、timetime,hdivstdlib.hdiv_tstdlib.hEDOMerrno.hEOFstdio.hERANGEeirno.herrnoenno.hexitstdlib.hEXIT.FAILUREstdlib.hEXIT_SUCCESSstdlib.hexpmath,hfabsmath,hfclosestdio.hfeofferrorfflushfgetcfgetposfgetsFILEFILENAME-MAXfloorfmodfopenFOPEN_MAXf

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。