我在我的应用程序中使用OpenSSL非常适度。 基本上,我只是做这两件事:
这就是全部。尽管使用非常适度,但可执行文件大小超过1MB,OpenSSL库中有大约1,200个不同的符号。这些功能显然不在我的代码树中,例如ASN1_ ,SHA1 _ ,EC_ *,PKCS7等。
我正在为Android Android和Windows链接OpenSSL的静态库。在移动平台上,足迹是一个问题。我的链接器应该省略未引用的函数,所以这些符号似乎以某种方式引用。
有没有办法让较小的OpenSSL片段减少可执行文件的大小?
Ú
答案 0 :(得分:0)
来自OpenSSL的符号包括直接或间接引用的符号。 如果链接器遗漏了某些内容(因为它是自动化工具并且可能遗漏某些内容),那么您可以尝试以下操作:
这将让您了解您从OpenSSL使用的依赖项。 为此,请从您需要的顶级功能开始。您将获得所需功能的链接器错误。然后包括那些功能。经过几次迭代,您将获得最小的OpenSSL库。
当您需要使用其他功能时,这会出现严重问题。
此外,您可以查看与优化相关的编译器选项,尤其是可执行文件大小。