2013-10-18 5 views
2

은 다음 예시적인 코드가 안드로이드 NDK /samples/native-audio/jni/native-audio-jni.c결과는 무엇입니까 (무효)? 안드로이드 OpenSL 예를 의미합니까? OpenSL ES의 로이드 구현에서

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

SLResult에서 발견 될 수있는 정의 유형이 SLuint32이고 정의상 32 비트 부호없는 정수 유형입니다.

내 질문은 무엇입니까? (void)result;은 무엇을합니까? 나는 이것이 아무 것도하지 않을 것이라고 생각했고 컴파일러는 이것을 최적화 할 수 있었다. 그러나이 예제에서는 여러 줄에 유사한 줄이 나타나고 결국에는 어떤 중요성이 있는지 궁금해졌습니다.

답변

6

어설 션 검사가 해제되어있을 때 "가변 결과가 사용되지 않음"과 같이 컴파일러 또는 lint 경고를 소리내어 쓰지 못하게하는 경우가 있습니다.

코드를 작성하지 않았으므로 확신 할 수 없지만 이것이 내 생각입니다.