什么(无效)结果;在Android OpenSL示例中意味着什么?

时间:2013-10-18 11:32:17

标签: android-ndk opensl

在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;行有什么作用?我认为这样做什么都没有,编译器可以优化它。但是,在示例中的许多地方出现了类似的行,我想知道它是否具有一定的重要性。

1 个答案:

答案 0 :(得分:7)

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

我没有编写代码,所以我无法确定,但这是我的猜测。