所以我正在瀏覽非官方OpenGL庫的glimg部分,並發現了一些我覺得很奇怪的東西。在其中一個函數中,指針參數被分配給自己,我看不出如何完成任何事情。這是否以某種方式強制內存進入緩存或是其他東西?可能是一個錯誤?分配給自己:優化還是外部?
static uint8 *resample_row_generic(uint8 *out, uint8 *in_near, uint8 *in_far, int w, int hs)
{
// resample with nearest-neighbor
int i,j;
in_far = in_far; // <-- here?
for (i=0; i < w; ++i)
for (j=0; j < hs; ++j)
out[i*hs+j] = in_near[i];
return out;
}
這可能只是沉默未使用的參數警告。 – Cairnarvon
沒有聲明'x = x';一些編譯器會警告未使用的變量,根據一些編碼慣例這可能是錯誤的。然而,這是另一種錯誤(左值未使用),根據代碼分析工具中的其他規則。一個更好的工作方式是'(void)變量;' –