为什么 ffmpeg_g 比使用 --disable-debug 的 ffmpeg 略大?

为什么 ffmpeg_g 比使用 --disable-debug 的 ffmpeg 略大?

当我使用 --disable-debug 编译 FFmpeg 时,ffmpeg_g (22.2 MiB) 略大于 ffmpeg (20.9 MiB),为什么?

答案1

当你“启用调试”,编译器将生成易于通过调试器的目标代码gdb,因此不会发生重大变化。

当你“禁用调试”,编译器将尝试使目标代码优化,其中包括function inlining&loop unrolling这将使目标代码“更大但更快”
这就是你观察到的。

答案2

剥离过程中编译器优化会丢失,ffmpeg 默认使用 -O3 进行编译。

谢谢普雷姆回答这个问题Prem 和我的聊天室

注意普雷姆没有告诉我它默认为 -O3

相关内容