首页 > 编程知识 正文

c语言静态函数的声明和定义,c语言没规定储存函数

时间:2023-05-04 02:45:28 阅读:166641 作者:4145

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 );

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。