你好,游客 登录 注册 搜索
背景:
阅读新闻

Linux下制作静态链接库

[日期:2014-02-18] 来源:Linux社区  作者:jefbai [字体: ]

静态链接库是在编译时刻由链接器使用的库文件,Linux下默认后缀名为.a的文件为静态库.静态库出现主要是为了方便调用一些常用的函数。

主要有两步:

1.编译源码

2.制作库

=====================================

以两个简单的源码为例,示范静态库制作的具体流程

1.编译源码

hello_first.c

void hello_first(void)
{
 printf("hello first");
}

hello_second.c

void hello_second(void)
{
 printf("hello second");
}

编译:

gcc -c hello_first.c -o hello_first.o

gcc -c hello_second.c -o hello_second.o

2.制作静态库

ar -r  libhello.a hello_first.o hello_second.o

具体调用库实例

hello_main.c

#include <stdio.h>

void hello_first(void);

void hello_second(void);

int main()
{
 hello_first();
 hello_second();
 return 0;
}

编译:

第一种方法:

gcc hello_main.c libhello.a -o hello_main

第二中方法:

拷贝libhello.a到/lib目录下

gcc hello_main.c -lhello -o hello_main2

运行截图:

OK!静态库调用成功!!

思考:

静态库作用是什么?为甚么要发明它?

1.静态库主要是用于方便程序员编程,将要使用的函数封装成库,只要告诉他们函数接口就可以了,这样程序员只要知道怎么调用就行了。而厂家可以保持接口不变,而对代码进行修改维护。

2.另外有可能是程序员自己将自己经常用到的函数封装起来,不用重复编写,只需调用前声明下就OK.

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款