Ich schaue mir gerade die OpenCV-Implementierung von FAST an und stolperte über einige Variablen, die in void
umgewandelt wurden. Ich verstehe, dass dies verwendet wird, um Lint / Compiler-Warnungen zum Schweigen zu bringen, wenn eine Variable nicht verwendet wird. In diesem Fall werden die Variablen verwendet. Es könnte mit SSE verwandt sein, da es nur in diesen Codeteilen passiert.
Spätere Verwendungen ( bearbeiten ):
%Vor%Siehe auch: vollständige fast.cpp im OpenCV- Repository (der Code, den ich eingefügt habe, stammt aus Zeile 71)
Also, wofür ist es gut und warum nur für SSE-bezogene Variablen?
Wenn Sie sich die Schuld für diese Zeilen ansehen, wurden sie in diesem Commit hinzugefügt, mit Commit-Meldung " Warnungen unter Windows ".
Sie könnten den Committer fragen, Ссылка , aber ich vermute, dass es nur auf einen Fehler in MSVC ankommt.
Obwohl es compilerabhängig ist, wird es normalerweise verwendet, um "unbenutzte variable" Nachrichten zu unterdrücken.
Ich bevorzuge das Makro UNUSED(var)
, da es die Absicht deutlich zeigt und an verschiedene Compiler-Umgebungen angepasst werden kann.