C语言函数库和文件

一个函数设计完后,我们可以用三种方法处理它:1)把它放在main()函数的同一个文件中;2)把它和写好的其它函数一起放在另一个文件中;3)把它放在函数库中。下面分别讨论这三种方法。

程序文件的大小

因为C语言允许分别编译,很自然就会提出这样的问题:一个文件的最适宜的规模是多大?这规模很重要,因为编译时间与被编译文件的大小直接相关。一般说来,链接处理的时间比编译处理的时间短得多,且不需要经常去重新编译已经运行过的代耄涣硪环矫妫不?br> 不同时处理多个文件也确实是件厌烦的事。

问题的答案是,每个用户、每个编译程序、每个操作系统环境都是不同的。可是对大部分微型机和一般的C编译程序来说。源程序文件不应长于10000个字节,建立短于5000个字节的文件,可以避免不少麻烦。

分类组织文件

在开发一个大型程序时,最令人烦恼的而又是最常遇到的工作之一就是需要检查每个文件,以确定某个函数的存放。在程序开发的早期做一点文件组织工作就可以避免这一问题。

首先可以把概念上有关的函数组织到一个文件中。如果在编写正文编辑程序时,把删除正文所用的所有函数放进另一个文件,等等。

第二,把所有的通用函数放在一起。例如,在数据库程序中,输入/输出格式编排函数是被其它函数调用的通用函数,应把它们放进一个单独的文件里。

第三,把最高层函数放进一个单独的文件中,如果空间允许,就和main()放在一起。最高层函数被用来启动程序的总体活动。这些例程从本质上定义了程序的操作。

函数库

从技术上讲,函数库与分别编译的函数文件不同。当库中例程被链接到程序中,或当使用一个分别编译的文件时,文件中的所有函数都被装入和链接到程序中去。对自己创建的函数文件中的大多数文件来说,文件中所有的函数都是要用到的。而对C的标准函数库,永远也无法把所有的函数都连接到自己的程序中去,因为目的码会大得吓人!

有时候我们需要建立一个函数库,例如,假定已经完成了一套专门的统计函数,如果当前开发的某个程序仅仅需要求出一批数值的均值,我们就不必把这些函数全部装入。在这种情况下,函数库是很有用的。职坐标www.zhizuobiao.com

大部分C语言的编译程序都有建立函数库的指令。操作过程因编译程序不同而异,可从用户手册中寻找建库的具体步骤。

时间: 2024-09-29 18:35:41

C语言函数库和文件的相关文章

c语言函数库学习~sscanf~格式化输入

---恢复内容开始--- 今天算是被打击到了吧,由郑轻的acm老师来我学院指导安排了个现场的小比赛,,俺们居然有还是输给一个大一的新手,,哎,情何以堪,,所以还是要重视下基础编程能力的培训,现在嘛我就开始学习下格式化的输入,,很复杂但是很有效果的... sscanf() - 从一个字符串中读进与指定格式相符的数据. Int sscanf( string str, string fmt, mixed var1, mixed var2 ... );  int scanf( const char *f

黑马程序员—C语言函数的学习

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 第一讲  函数的参数问题以及返回值 在定义函数的参数时要注意以下几点: 1.形式参数:定义函数时函数名后面中的参数,简称形参 2.实际参数:调用函数时传入的具体数据,简称实参 3.实参个数必须等于形参个数 4.如果是基本数据类型作为函数的形参,纯粹是值传递,修改函数内部形参的值,并不会影响外面实参的值 5.一个函数可以没有形参,也可以有无数个 下面通过一个具体的例子来看一下函数的具体使用以及参

C语言 03 项目团队文件合并

团体项目中 链接把项目中所有相关联的.O目标文件.C语言函数库合并在一起,生成可执行文件. 编写声明文件,用 .h文件封装起来,在其他代码中用include"xxx.h"引用声明 1.函数的定义放.c文件,函数的声明放.h文件2.如果要使用某个.c文件中定义的函数,只需要#include这个.c文件对应的.h文件3..h文件的作用:被被人cofy,编译链接的时候不需要管.h文件. printf是int类型,返回字符串常量的字符数,并不是字数. 一个中文占3个字符,一个 字符占一个字节.

composer的autoload来自动加载自己编写的函数库与类库?

1.使用命令composer init生成composer.json文件,并编辑autoload选项内容如下: 其中又包含主要的两个选项: files 和 psr-4. files就是需要composer自动帮我们加载的函数库(不含类),只要在后面的数组中将函数库的文件路径写入即可.psr-4顾名思义,是一个基于psr-4(http://www.php-fig.org/psr/psr-4/)规则的类库自动加载对应关系,只要在其后的对象中,以 "命名空间": "路径"

C语言常用的库文件(头文件、函数库)

C语言常用的库文件(头文件.函数库) C系统提供了丰富的系统文件,称为库文件.C的库文件分为两类,一类是扩展名为".h"的文件,称为头文件,在前面的包含命令中我们已多次使用过.在".h"文件中包含了常量定义. 类型定义.宏定义.函数原型以及各种编译选择设置等信息.另一类是函数库,包括了各种函数的目标代码,供用户在程序中调用.通常在程序中调用一个库函数时,要在调用之前包含该函数原型所在的".h" 文件. 下面给出Turbo C的全部".h

L脚本语言编写的简单数学函数库

对于一种编程语言数学计算的功能当然是必不可少的,通过L脚本语言的基本数学运算功能实现数学计算库也很简单 在L脚本语言中,使用库之前需要进行导入,这和C语言的include引用Java的导入jar包是类似的 下面的例子是一个L脚本语言的库文件 #scplib #数学函数库 定义:函数,求圆的周长,半径 开始:函数,求圆的周长 计算:算式,ret,2*3.14*半径 显示:ret 结束:函数,求圆的周长 定义:函数,求圆的面积,半径 开始:函数,求圆的面积 计算:算式,ret,3.14*(半径*半径

C语言开发函数库时利用不透明指针对外隐藏结构体细节

1 模块化设计要求库接口隐藏实现细节 作为一个函数库来说,尽力减少和其调用方的耦合,是最基本的设计标准.C语言,作为经典"程序=数据结构+算法"的践行者,在实现函数库的时候,必然存在大量的结构体定义,接口函数需要对这些结构体进行操作.同时,程序设计的模块化要求库接口尽量少的暴露其实现细节,接口参数尽量使用基本数据类型,尽量避免在形参中暴露库内结构体的定义. 2 隐藏结构体的两种方法 以笔者粗浅的认识,有两种最常用的方法,可以实现库内结构体定义的隐藏:接口函数形参使用结构体指针,接口函数

C语言的动态函数库和静态函数库的生成和使用(linux环境下)

软件开发往往是一个十分庞大的工程.需要消耗大量的脑力.借助别人已经开发好的库,往往能提高效率,下面将介绍如何开发和使用共享的库文件.使用别人已经开发好的库,就像是我们想要建造一辆汽车十分困难,但是如果汽车的各大部件都已经存在并且可以获得,我们要做的工作就是组装,组装过程一定比设计这些部件要轻松. 函数库分为两种静态(static)函数库和动态(shared)函数库.两者都是函数的集合.区别:在编译的时候会把静态函数库的内容加到目标程序中,目标程序具有函数库的代码;而动态函数库是在执行的时候才把函

压缩文件函数库(转载)

压缩文件函数库 欲使用本函数库需先安装 zlib,可到 http://www.cdrom.com/pub/infozip/zlib/ 取得该函数库. gzclose: 关闭压缩文件. gzeof: 判断是否在压缩文件尾. gzfile: 读压缩文件到数组中. gzgetc: 读压缩文件中的字符. gzgets: 读压缩文件中的字符串. gzgetss: 读压缩文件中的字符串,并去掉 html 指令. gzopen: 打开压缩文件. gzpassthru: 解压缩指针后全部资料. gzputs: