目录
一、了解静态库及动态库
函数库分为静态库和动态库两种。
- 静态库在程序编译时会被链接到目标代码中,程序运行时将不再需要该静态库。
- 动态库在程序编译时并不会被链接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。
二、链接静态库编译
1、编写源程序
main.c(主函数):
#include"sub1.h"
#include"sub2.h"
#include<stdio.h>
int main()
{
int x=2,y=9,n; //定义x和y变量
printf("%d/%d=%.2f\n",y,x,x2x(x,y)); //输出处理后的值,保留两位小数
printf("请输入斐波那契的第n项值:");
scanf("%d",&n);
printf("斐波那契数列第%d项为%d\n",n,x2y(n)); //输出斐波那契数列的第n项
return 0;
}
sub1.h
#ifndef __SUB1_H
#define __SUB1_H
float x2x(int a,int b); //计算b除以a
#endif
sub1.c
#include "sub1.h"
float x2x(int a,int b)
{
float ans;
ans=(float)b/a;
return ans;
}
sub2.h
#ifndef __SUB2_H
#define __SUB2_H
int x2y(int); //计算斐波那契数列的第n项值
#endif
sub2.c
#include "sub2.h"
int x2y(int n)
{
int a=1,b=1,i;
long c=0;
if(n<3) return 1;
else
{
for(i=0;i<=n-3;i++)
{
c=a+b;
a=b;
b=c;
}
return c;
}
}