-3
#define BLOCK_OFFSET(block) (BASE_OFFSET+(block-1)*block_size)
使用遞歸定義值c
lseek(fd, BLOCK_OFFSET(group->bg_inode_table)+(inode_no-1)*sizeof(struct ext2_inode),SEEK_SET);
這是一個代碼我嘗試瞭解的片段,我不知道該怎麼定義的作品。 它是遞歸嗎? 有人可以解釋一步一步怎麼樣發生在lseek?
你在想什麼是遞歸定義的? BLOCK_OFFSET和BASE_OFFSET不是一回事,我也沒有在lseek(2)中看到任何自引用。 – dho
該定義只是用(BASE_OFFSET +(foobar-1)* block_size)替換BLOCK_OFFSET(foobar)。簡化表達式的寫法是有用的,但它不是遞歸的。 – LSerni
你能解釋我該如何刪除定義並編輯lseek,以便它能正常工作?我只想知道它到底是什麼 – Timur