Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2399233
  • 博文数量: 862
  • 博客积分: 14125
  • 博客等级: 上将
  • 技术积分: 10598
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-27 16:53
个人简介

https://github.com/zytc2009/BigTeam_learning

文章分类

全部博文(862)

文章存档

2019年(3)

2018年(1)

2017年(10)

2015年(3)

2014年(8)

2013年(3)

2012年(69)

2011年(103)

2010年(357)

2009年(283)

2008年(22)

分类: 嵌入式

2010-12-02 13:24:30

在嵌入式平台上,如果使用openssl的标准方法,编译出来的libcrypto.a和libssl.a会比较大,分别是2M多和400多K,为了减少空间使用率,可以使用下面的命令去掉一下东西:
./config no-shared no-zlib no-asm no-dso no-threads no-comp no-gmp no-krb5 no-rc5 no-zlib-dynamic no-hw no-cipher

创建出Makefile后,把gcc改成arm-elf-gcc, 把ranlib改成arm-elf-ranlib,这就可以生成比较小的libcrypto.a和libssl.a。

其 实也可以用./config no-shared no-zlib no-asm no-dso no-threads no-comp no-gmp no-krb5 no-rc5 no-zlib-dynamic no-hw no-cipher -os/compiler:arm-elf-gcc编译arm版本,但是这样产生的库比上述方法大,看了一下,好像是优化级别差异,一个是-O,一个是 O3

另外,如果用arm-elf-strip把库的符号去掉,库会小一半,但是应用程序就会报告找不到函数的实现,还没有找到怎么解决它。

在Android.mk文件中使用LOCAL_CFLAGS += -fvisibility=hidden选项,这个选项的作用是不导出函数符号表。可以缩小生成的库文件大小,相当于strip命令。
阅读(1162) | 评论(0) | 转发(0) |
0

上一篇:C专家编程笔记

下一篇:SDL 学习笔记

给主人留下些什么吧!~~