【问题标题】:What does (void)result; mean in android OpenSL example?(无效)结果是什么;在 android OpenSL 示例中是什么意思?
【发布时间】:2013-10-27 05:43:19
【问题描述】:

在 OpenSL ES 的 android 实现中,可以在 android-ndk /samples/native-audio/jni/native-audio-jni.c 中找到以下示例代码

SLresult result;
result = slCreateEngine(&engineObject, 0, NULL, 0, NULL, NULL);
assert(SL_RESULT_SUCCESS == result);
(void)result;

SLResult 定义为 SLuint32 类型,根据定义,它是 32 位无符号整数类型。

我的问题是:(void)result; 行是做什么的?我认为这无济于事,编译器可以优化它。但是,示例中的许多地方都出现了类似的行,我想知道它到底是否有一些重要性。

【问题讨论】:

    标签: android-ndk opensl


    【解决方案1】:

    有时会插入这种愚蠢的代码以使编译器或 lint 警告静音,例如在关闭断言检查时“未使用变量结果”。

    代码不是我写的,所以我不能确定,但​​这是我的猜测。

    【讨论】:

      猜你喜欢
      • 2012-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-12
      • 2017-06-11
      • 2018-03-05
      • 2023-03-27
      相关资源
      最近更新 更多