You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

静态链接libcrypto编译后二进制体积暴涨问题咨询

静态编译libssl3程序体积暴涨问题

我有一个仅调用少量加密函数的简单程序,动态链接编译生成的二进制文件仅约15KB,编译命令:

gcc -s -o crypt crypt.c -lcrypto

尝试静态链接编译时,生成的二进制文件却高达约4MB,编译命令:

gcc -s -o crypt crypt.c /usr/lib/x86_64-linux-gnu/libcrypto.a

此前在Debian 10、gcc 8、libssl1.1环境下编译同程序,生成的静态二进制仅约55KB;但在Debian 12、gcc 12、libssl3 3.0.9环境下,体积暴涨至原来的约200倍。

是否是静态编译时引入了libcrypto的全部函数而非仅实际调用的?或有其他原因导致体积过大?(需在无依赖库的极简系统运行该程序)

以下是动态编译版本的二进制文件ldd输出:

ldd crypt
    linux-vdso.so.1 (0x00007ffd72bdd000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd1680d0000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fd168662000)

内容的提问来源于stack exchange,提问作者Martin Vegter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 12:15:59