首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >libavcodec/libavformat问题

libavcodec/libavformat问题
EN

Software Engineering用户
提问于 2012-02-08 23:23:16
回答 2查看 482关注 0票数 2

我在两个不同的地方看到过这段代码引用,但是我还没有看到任何人提出这个问题,但是在第00339行上似乎有一个空的if块,我只是复制了代码来编译,但是它甚至不会编译,因为这是因为。

代码语言:javascript
复制
if (frame_count >= STREAM_NB_FRAMES) {
 /* no more frame to compress. The codec has a latency of a few
    frames if using B frames, so we get the last frames by
    passing the same picture again */
} else {

任何想法或解释为什么会是那样。这是作者在抄写时的错误吗?不管怎么说,在那个街区里发生了什么事?

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2012-02-08 23:40:24

这是没有错误的。该块的if部分确实是空的。

通过使if部分为空并在其他部分执行工作,通常更容易表达逻辑。在这个例子中,if部分有一个注释,专门解释为什么它是空的,为什么没有什么可做的。

该代码是合法的C,并将编译良好。

票数 4
EN

Software Engineering用户

发布于 2012-02-09 00:04:28

任何半好的编译器无论如何都会删除这个块,并且只留下unless块(除非它也是空的)。

关键是要解释当满足某一重要条件时会发生什么。

票数 2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/134069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档