首页 > 电脑专区 > 电脑教程 >

如何将c文件生成静态库

来源:互联网 2023-02-21 18:52:00 271

C语言是一个灵活度非常高的语言,有时候我们会重复调用一些相近的操作,这就要用到库,但可能编译器自带的库不包含我们想要的功能,同时我们的代码可能会给别人使用,但有的时候又不方便直接给源代码,那么这个时候我们就会考虑创建自己的静态库,今天就介绍一个基于DEVCPP的比较初步的C语言静态库的建立和使用方法。imM办公区 - 实用经验教程分享!

工具/原料

  • PC一台
  • DevCPP集成开发环境一个

方法/步骤

  • 1

    新建3个文本文件分别重命名为main.c、libTest.c、libTest.h,其中libTest.c和libTest.h用于建立我们自己的静态库程序,main.c用于对我们建立的静态库程序进行测试。完成后,进入下一步工作:imM办公区 - 实用经验教程分享!

    如何将c文件生成静态库imM办公区 - 实用经验教程分享!

  • 2

    我们的静态库文件大致的功能是建立一个Talk函数,该函数将用户传入的字符串显示到屏幕,具体代码如下:imM办公区 - 实用经验教程分享!

    /********************************************imM办公区 - 实用经验教程分享!

    *文件名称:libTest.cimM办公区 - 实用经验教程分享!

    *模块功能:c语言lib库文件生成测试imM办公区 - 实用经验教程分享!

    *维护记录:imM办公区 - 实用经验教程分享!

    * 2018-06-19 创建imM办公区 - 实用经验教程分享!

    *********************************************/imM办公区 - 实用经验教程分享!

    #ifndef __LIBTEST_C__imM办公区 - 实用经验教程分享!

    #define __LIBTEST_C__imM办公区 - 实用经验教程分享!

    imM办公区 - 实用经验教程分享!

    #include stdio.h>imM办公区 - 实用经验教程分享!

    #include "libTest.h"imM办公区 - 实用经验教程分享!

    imM办公区 - 实用经验教程分享!

    void Talk(char *str)imM办公区 - 实用经验教程分享!

    {imM办公区 - 实用经验教程分享!

    printf("%s\r\n", str);imM办公区 - 实用经验教程分享!

    }imM办公区 - 实用经验教程分享!

    imM办公区 - 实用经验教程分享!

    #endif//#ifndef __LIBTEST_C__imM办公区 - 实用经验教程分享!

    imM办公区 - 实用经验教程分享!

    imM办公区 - 实用经验教程分享!

    向libTest.h输入下述代码:imM办公区 - 实用经验教程分享!

    /********************************************imM办公区 - 实用经验教程分享!

    *文件名称:libTest.himM办公区 - 实用经验教程分享!

    *模块功能:c语言lib库文件生成测试 相关定义imM办公区 - 实用经验教程分享!

    *维护记录:imM办公区 - 实用经验教程分享!

    * 2018-06-19 创建imM办公区 - 实用经验教程分享!

    *********************************************/imM办公区 - 实用经验教程分享!

    #ifndef __LIBTEST_H__imM办公区 - 实用经验教程分享!

    #define __LIBTEST_H__imM办公区 - 实用经验教程分享!

    imM办公区 - 实用经验教程分享!

    void Talk(char *str);imM办公区 - 实用经验教程分享!

    imM办公区 - 实用经验教程分享!

    #endif//#ifndef __LIBTEST_H__imM办公区 - 实用经验教程分享!

    如何将c文件生成静态库imM办公区 - 实用经验教程分享!

    如何将c文件生成静态库imM办公区 - 实用经验教程分享!

  • 3

    接下来打开DevCpp,创建一个新的Project,在工程选项对话框中选择Static Library,在“名称”文本框输入libTest,这个libTest将输出为我们的静态库文件,同时勾选“C项目”,配置完成后点击“确定”按钮,继续下一步:imM办公区 - 实用经验教程分享!

    如何将c文件生成静态库imM办公区 - 实用经验教程分享!

  • 4

    点击工具栏的“运行”按钮,在弹出的下来框选择“编译”,或者也可以直接按快捷键“F9”,之后软件对我们这个库代码进行编译,成功后会在下面的提示中显示出来,表示我们的库文件就生成了。继续下一步。imM办公区 - 实用经验教程分享!

    如何将c文件生成静态库imM办公区 - 实用经验教程分享!

    如何将c文件生成静态库imM办公区 - 实用经验教程分享!

  • 5

    编译成功后,我们可以在静态库的工程目录中看到我们的静态库文件,它的名字就是我们工程的名字,也就是图中的libTest.a,这个文件目录要记住,之后会用到,接下来继续下一步操作imM办公区 - 实用经验教程分享!

    如何将c文件生成静态库imM办公区 - 实用经验教程分享!

  • 6

    创建一个DevCpp工程,工程类型请选择“Console Application”,选择项目类型为“C类型”,工程名称输入Test,所有设置完成后点击“确定”按钮,请看下一步操作imM办公区 - 实用经验教程分享!

    如何将c文件生成静态库imM办公区 - 实用经验教程分享!

  • 7

    将main.c加载到工程当中,输入下面的代码,不出意外,在我们我们的程序运行后,显示屏会显示一行Hello world !imM办公区 - 实用经验教程分享!

    imM办公区 - 实用经验教程分享!

    #include "libTest.h"imM办公区 - 实用经验教程分享!

    imM办公区 - 实用经验教程分享!

    int main(int argc, char *argv[])imM办公区 - 实用经验教程分享!

    {imM办公区 - 实用经验教程分享!

    Talk("Hello world !");imM办公区 - 实用经验教程分享!

    imM办公区 - 实用经验教程分享!

    return 0;imM办公区 - 实用经验教程分享!

    }imM办公区 - 实用经验教程分享!

    imM办公区 - 实用经验教程分享!

    代码输入完成后点击工具栏的“项目” ->“项目属性”,继续下一步工作imM办公区 - 实用经验教程分享!

    如何将c文件生成静态库imM办公区 - 实用经验教程分享!

  • 8

    接下来是我们本此最重要的一部,加载静态库。在弹出的“项目选项”对话框选择“参数”选项卡,然后点击右下角的长条形按钮“加入库或者对象”imM办公区 - 实用经验教程分享!

    如何将c文件生成静态库imM办公区 - 实用经验教程分享!

    如何将c文件生成静态库imM办公区 - 实用经验教程分享!

  • 9

    在弹出的文件对话框中,选中我们之前生成的libTest.a静态库文件,然后点击“打开”按钮回到“项目属性”对话框,我们会看到“链接”下面的文本框中多了一个libTest.a,这说明我们的静态库成功添加了,点击“确定”按钮,进入下一步操作imM办公区 - 实用经验教程分享!

    如何将c文件生成静态库imM办公区 - 实用经验教程分享!

    如何将c文件生成静态库imM办公区 - 实用经验教程分享!

  • 9本页面未经授权抓取自百度经验
  • 10

    最后一步,回到主程序界面,点击工具栏的“运行”按钮,在弹出的下拉框中选择“编译运行”按钮,或者直接按快捷键F11,即可编译-运行一部到位,成功后会弹出一个黑色背景的窗口,上面显示几行字符串,第一行就是我们程序打印出来的Hello world ! 到此为止我们关于C语言静态库的创建和使用就告一段落了。imM办公区 - 实用经验教程分享!

    如何将c文件生成静态库imM办公区 - 实用经验教程分享!

    如何将c文件生成静态库imM办公区 - 实用经验教程分享!

  • 注意事项

    • 1、注意DEVCPP工程类型,不要选错了。
    • 2、如果编译不通过那很可能是你的编译器不支持中文目录,或者代码录入有误,DEVCPP有一个不好的地方就是对于一些拼写错误它有时不能准确指明位置,比如我遇到过把printf打印成ptinf它并不能编译器只提示不通过但没有指明错误位置。
    • 3、进行测试程序编译前请确定你的静态库文件已经成功生成,并且已经加载到你的工程当中。

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!imM办公区 - 实用经验教程分享!


    标签: 操作系统C语言文件静态

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码