函式代碼的實作:
int data_size = fa->element_size * fa->total_nr_elements;
if (data_size <= FLEX_ARRAY_BASE_BYTES_LEFT)
return 1;
return 0;
--------------------------------------------------------------------------------------------------------------------------------------------
這個函式的功能是什么意思?我個人分析得是:查看parts[0]陣列元素中資料是否被填滿(因為很多函式中呼叫了這個函式后的下一行代碼就是直接使用parts[0],所以這是判斷parts[0]資料是否被填滿)。第一行代碼,就是得到所有資料大小;可是第二行卻是flex_array中彈性陣列元素的個數。這個按理來說應該是和頁(1024)來比較的。可是為什么是和 parts[]陣列大小比較,(parts[]陣列大小 = 頁(1024) - flex_array中除去parts[]陣列大小的其他成員資料大小)?這個讓我很疑惑,求知道的解釋下。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/102929.html
標籤:虛擬化
