步骤:
一、dos的turboc 2.0环境:
1.现将二个函数sub1()及sub2()建立成一个函数库文件取名ylib.lib。两个函数的类型及形参如下:void sub1(void);float sub2(int i,float x)将它们分别建立一个文件,取名为sl.c
s2.c,再用命令tcc对它们分别编译后产生两个目标文件s1.obj及
2.obj,最后使用tlib命令建立函数库文件wylib.lib,并建立相应
的列表文件(列表文件主要用来检查主函数库情况),命令格式如下:
tcc s1.c s2.c
tlib mylib +s1 +s2,mylib.lst
将产生的mylib.lib函数库文件拷贝到标准库目录下c:\tc\lib
2.建立其首标文件(假设取名为myfunc.h)内容如下:
extern void sub1(void);
extern float sub2(int,float);
将此文件拷贝到目录下c:\tc\include
3.在用户的程序中按下列方式直接使用即可
# include<myfunc.h>
main()
{…
调用sub1();sub2();
…
}
4.在Turboc下用编译命令tcc对用户程序进行编译及链接。设其用户程序文件名为my.c,使用命令格式:
tcc-Ic:\tc\include -Lc:\tc\lib my.c mylib.lib
执行完后就会产生一个my.exe可执行文件,其中-I后面指出首标文件的目录,而-L后面指出函数库的子目录,最后两个分别是源程序文件及函数库文件。
关于tcc和tlib的详细用法在系统提示符下键入c:\tc\tcc和c:\tc\tlib可得到帮助。
二、xenix/unix下开发系统自身c语言环境
1.使用cc编译器任选项“-c”提供部分编译功能,部分编译产生目标文件(s1.o及s2.o)
cc -c s1.c s2.c(形成s1.o及s2.o)
2.用建库命令ar建库,格式:
ar uv mylib.a s1.o s2.o
ranlib mylib.a
前一条命令建立了一个名为mylib.a的档案库,其中选项u用来创建库文件,v用来显示执行情况,关于命令ar的详细用法可在系统提示符下键入help ar
后一条命令生成一个随机库,在库的开始处增加一个名为“-SYMDEF”的档案库内容表,实现档案库到新形式的转换,形成了c语言可用的格式库。
3.将新建的库拷贝到库目录下,:Xenix的库目录文件是/lib/386及/lib,所以用户将自己的库放入两个目录下:
cp mylib.a/lib/386/mylib.a或cp mylib.a/lib/mylib.a
4.和dos操作系统建立首标文件一样建立头标文件,将其文件拷贝到目录下:/usr/includecp myfunc.h/usr/include/myfunc.h
5.至此,用户程序可直接用库函数编程。
# include<myfunc.h>
nain()
{…
调用sub1();sub2();
…}
6.编译时用cc -o my -lmylib my.c将得到可执行文件名为my。格式-o后面指明被编译成可执行文件名,-l指名所需连接的库。关于cc编译器的用法可在系统找字符下键入help cc。