gcc - 为什么 FFmpeg 没有经过编译器优化?

标签 gcc ffmpeg

FFmpeg 是通过首先创建一个调试版本然后剥离调试符号来编译的。

LD      ffmpeg_g
CP      ffmpeg
STRIP   ffmpeg

为什么不进行编译器优化,O3例如?

最佳答案

实际的编译器标志没有在链接时指定,只是在编译时(在此之前),所以很可能它实际上是用 -O2 或类似的东西编译的。正如其他评论之一所述,它也(默认情况下)使用调试符号编译(这是与优化标志不同的问题),因此它将它们保存在 ffmpeg_g 中并将它们从 ffmpeg 中剥离,以获得更小的可执行文件(如果你想要那)。无论如何,如果您像“make V=1”一样运行它(可能需要先运行make clean),您可以更好地看到编译器标志。 HTH。

关于gcc - 为什么 FFmpeg 没有经过编译器优化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9014256/

相关文章:

c - 函数调用是否与 %rax 以外的其他寄存器混淆?

c - gcc编译的程序运行速度比g++编译的快

c - GCC 在 ISR 中生成无用代码

c - gcc没有优化模算术?

ffmpeg:如何创建透明背景的MOV?

c - 自动化 C 单元测试

batch-file - 使用ffmpeg将具有任何扩展名的文件转换为MP4

audio - 使用 ffmpeg 服务器端即时转换多个文件

java - 从 Java 调用时,FFMPEG 不会生成有效的 mp4 输出

video - AVI 无法编码为 MP4