10
Làm thế nào để các macro có khả năng / không có khả năng trong nhân Linux hoạt động và lợi ích của chúng là gì?
Tôi đã đào qua một số phần của nhân Linux và tìm thấy các cuộc gọi như thế này: if (unlikely(fd < 0)) { /* Do something */ } hoặc là if (likely(!err)) { /* Do something */ } Tôi đã tìm thấy định nghĩa của chúng: #define likely(x) __builtin_expect((x),1) …