在Dev C++中制作和使用静态链接库


    C语言提供了大量的库函数,这些库函数以静态链接库的形式存放在安装目录的lib文件夹里(.a为后缀的文件)。这些库函数可以被我们的程序反复使用,比如printf,scanf等。如果你自己定义的函数,在很多程序中要反复使用,或者需要和别人共享,也可以将这些函数制作成静态链接库,然后在其它程序中调用这些函数,就好像使用库函数一样。本文讲述如何在Dev C++平台中制作和使用静态链接库。

 

一、制作静态链接库

 

1.创建一个C工程,类型选为static library,名字设置为mymath。

 在Dev C++中制作和使用静态链接库_第1张图片


2.在工程自带的文件中编辑你准备加入到库中的函数,本例中写了两个函数,一个是判断n是否素数,另一个求圆面积。编辑完成后保存文件并命名为mathfunction.c。


在Dev C++中制作和使用静态链接库_第2张图片

 

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。

 在Dev C++中制作和使用静态链接库_第3张图片

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。

 在Dev C++中制作和使用静态链接库_第4张图片

6.编译,运行,结果如下图所示:

 在Dev C++中制作和使用静态链接库_第5张图片

    

    也可以在命令行模式下使用命令制作和使用静态链接库,在以后的文章中我们再讨论。

你可能感兴趣的:(C语言)