10
Bagaimana makro yang mungkin / tidak mungkin dalam kernel Linux bekerja dan apa manfaatnya?
Saya telah menggali beberapa bagian dari kernel Linux, dan menemukan panggilan seperti ini: if (unlikely(fd < 0)) { /* Do something */ } atau if (likely(!err)) { /* Do something */ } Saya telah menemukan definisi mereka: #define likely(x) __builtin_expect((x),1) #define unlikely(x) __builtin_expect((x),0) Saya tahu itu untuk optimasi, tetapi bagaimana …