Thư viện liên kết tĩnh
Chương trình sử dụng thư viện liên kết tĩnh để viết chương trình cộng, trừ, nhân, chia hai số, các số được nhập từ bàn phím.
Hướng dẫn:
Bước 1:Tạo file thư viện .c
thuvien.c
#include
double nhap(char c)
{
double x=0;
printf(“nhap gia tri %c=”,c);
scanf(“%lf”,&x);
return x;
}
void in(double x, char c, double y, double z)
{
printf(“Ket qua: %.3lf %c %.3lf=%.3lf\n”,x,c,y,z);
}
double cong(double x, double y)
{
return x+y;
}
double tru(double x, double y)
{
return x-y;
}
double nhan(double x, double y)
{
return x*y;
}
double chia(double x, double y)
{ if(y!=0) return x/y;
else {
perror(“Mau so bang 0”);
exit(0);
}
}
Bước 2:Tạo file header lib.h chứa các nguyên mẫu hàm để người dùng triệu gọi
double nhap(char c);
void in(double x, char c, double y, double z);
double cong(double x, double y);
double tru(double x, double y);
double nhan(double x, double y);
double chia(double x, double y);
Bước 3:Xây dựng chương trình chính program.c liên kết các hàm trong thư viện
#include
#include “lib.h”
int main()
{
double x,y,z;
x=nhap(‘x’); y=nhap(‘y’); z=cong(x,y);
in(x,’+’,y,z);
x=nhap(‘x’); y=nhap(‘y’); z=tru(x,y);
in(x,’-’,y,z);
x=nhap(‘x’); y=nhap(‘y’); z=nhan(x,y);
in(x,’*’,y,z);
x=nhap(‘x’); y=nhap(‘y’); z=chia(x,y);
in(x,’/’,y,z);
return 0;
}
Bước 4:Biên dịch chương trình
Tại cửa sổ Terminal thực hiện các lệnh sau:
- Biên dịch tạo file đối tượng .o
gcc –c thuvien.c
Kiểm tra file đối tượng ls *.o
- Đóng gói các thư viện liên kết
ar cvr libfoo.a thuvien.o
- Biên dịch chương trình chính
gcc –c program.c
- Sử dụng thư viện libfoo.a liên kết với chương trình chính
gcc program.o libfoo.a –o pro
- Thực thi chương trình
./pro