码迷,mamicode.com
首页 > 其他好文 > 详细

静态库打包

时间:2016-04-15 14:08:50      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:静态库打包

静态库(把目标文件:二进制文件,.o,.a)打包:使用静态库有两个条件:

  1. 把库文件包含进来

  2. 包含头文件

注意:库文件中不能有main函数

Linux中,静态链接库以.a结尾,动态链接库以.so结尾。

windows中,静态链接库以.lib结尾,动态链接库以.dll结尾。

静态库打包主要是把多个.o文件生成链接文件,有以下优点

  1. 代码保护(看不到原来代码)

  2. 维护成本低

  3. 可在静态库设置保护期(eg:获取当前时间和2019年比较,若大于则退出)

Makefile的书写:

  1 .PHONY:libmysem.a
  2 libmysem.a:comm.o
  3     ar rcs $@ $^
  4 comm.o:comm.c
  5     gcc -c $<
  6 .PHONY:clean
  7 clean:
  8     rm -f libmyset.a comm.o

$<表示把依赖也表文件一个个拿出来给gcc -c命令。

下来就可以使用该静态库了,新建一个目录,拷贝libmyset.a和comm.h文件到此目录下,这是使用静态库的两个条件。但现在还是找不到库文件,引文我们平常使用时连接的时候系统文件在环境变量PATH中定义路径,所以可以找到。接下来,修改Makefile文件添加-I/lib(可找到头文件)  -L/lib(搜索路径) -lmyset(一个路径下哪个库)。

本文出自 “小止” 博客,请务必保留此出处http://10541556.blog.51cto.com/10531556/1764133

静态库打包

标签:静态库打包

原文地址:http://10541556.blog.51cto.com/10531556/1764133

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!