PAGE/NUMPAGES
C语言静态函数库的创建与使用方法
一.库函数介绍:
c语言包含用于执行标准任务的函数,这些任务可以预编译并放置在特殊的目标代码文件(称为库)中。 文档从互联网收集,仅用于个人学习
库文件中的函数可以通过链接器链接到APP应用程序,从而无需在每次运行程序时编译这些公共函数。 文档从互联网收集,仅用于个人学习
标准的c函数库名称为libc,包含内存管理和输入输出操作等基本函数。 这些库位于系统的公共目录中,如/usr/lib,系统中的所有用户都可以使用这些库函数,也可以自己创建库。 文档从互联网收集,仅用于个人学习
来修改标记元素的显示属性。 静态库; 共享库
二.静态库:
1 )基本概念:
静态库也称为文档文件(Archive File )。 这是多个. o文件的集合。 Linux静态库文件的后缀为“a”。 文档从互联网收集,仅用于个人学习
静态库中的代码在编译时链接到APP应用程序
静态库中的每个成员. o文件没有特殊的存在格式,而只是. o文件的集合。
使用“ar”工具维护和管理静态库
2 )静态库的创建和使用方法
以下是创建静态链接库的示例。
创建源文件:
源代码1:my_strcpy.c:(1 (实现一个strcpy功能) ) ) )。
#包含
#包含
#包含
voidmy_strcpy(char*des,const char *src ) ) )。
{
while(*des=*src ) ) )。
;
}
源代码2:my_strcmp.c(1 (实现一个strcmp的功能) ) ) ) ) ) ) )。
#包含
#包含
#包含
intmy_strcmp(constchar*obj1,const char *obj2) ) ) ) ) ) ) )。
{
while(*obj1*obj2) )。
{
if(*obj1-*obj2) ) ) ) ) ) ) if ) ) ) ) ) )。
{
return(*obj1-*obj2);
}
else
{
obj1;
obj2;
}
}
返回0;
}
生成. o文件
gcc -c my_strcpy.c my_strcmp.c
创建静态链接库
ar rcs libmylib.a *.o
现在,已在当前路径下创建了libmylib.a静态库。
在ar的三个参数中,r表示向归档文件插入,c表示创建归档文件,s表示如果归档文件包含对象模式,使用该参数创建保存文件的符号表文档从互联网收集,仅用于个人学习
lib和. a都是系统指定的静态库文件的固定形式,mylib才是静态库的名称,编译时链接器使用标准路径(/usr/lib; /lib )或按用户指定的路径查找. a文件。 文档从互联网收集,仅用于个人学习
测试静态链接库
编写测试代码: main.c
#包含
#包含
int main () )
{
int res;
char des[100]={0};
const char *s1='hello linux.';
const char *s2='hello world.';
my_strcpy(des,s1 );
printf(%s(n ),des );
Bero(des,0 );
my_strcpy(des,s2 );
printf(%s(n ),des );
res=my_strcmp(S1,s2 );
是if(RES0)
printf(S1S2(n ) );
ELSEif(RES0)
printf(S1S2(n ) );
else
printf(S1=S2(n );