C语言提供了大量的库函数,这些库函数以静态链接库的形式存放在安装目录的lib文件夹里(.a为后缀的文件)。这些库函数可以被我们的程序反复使用,比如printf,scanf等。如果你自己定义的函数,在很多程序中要反复使用,或者需要和别人共享,也可以将这些函数制作成静态链接库,然后在其它程序中调用这些函数,就好像使用库函数一样。本文讲述如何在Dev C++平台中制作和使用静态链接库。
一、制作静态链接库
1.创建一个C工程,类型选为static library,名字设置为mymath。
2.在工程自带的文件中编辑你准备加入到库中的函数,本例中写了两个函数,一个是判断n是否素数,另一个求圆面积。编辑完成后保存文件并命名为mathfunction.c。
3.编译工程,则在该工程的文件夹下生成静态库文件mymath.a
注意:生成的库文件名和工程名相同,而不是和C程序文件名相同。
二、使用静态链接库:
1.编辑一个名为newmath.h的头文件,其中包含对上述两个函数的声明:
int IsPrime(int n);
float CircleArea(float r);
2.将newmath.h保存到Dev C++安装目录的include文件夹下,本例中是:
C:\Program Files(x86)\Dev-Cpp\MinGW64\x86_64-w64-mingw32\include
3.创建一个工程,类型选为Console Application,名字设置为newmath_test。
4.编辑工程中的main.c文件,编写代码来调用库文件中的两个函数,代码如下:
#include"stdio.h"
#include "newmath.h"
intmain()
{
int m;
float r;
printf("please input m:");
scanf("%d",&m);
if(IsPrime(m))
printf("%d is prime\n",m);
else
printf("%d is not prime\n",m);
printf("Please input radius:");
scanf("%f",&r);
printf("The area is: %f\n",CircleArea(r));
return 0;
}
5.在Project菜单下,选择Project Options选项。在Parameters选项卡的linker部分,点击“Add library or object”,选择前面生成的静态库文件mymath.a。
6.编译,运行,结果如下图所示:
也可以在命令行模式下使用命令制作和使用静态链接库,在以后的文章中我们再讨论。