compiler.h 440 B

1234567891011121314151617
  1. #pragma once
  2. #define __force __attribute__((force))
  3. #define likely(x) __builtin_expect(!!(x), 1)
  4. #define unlikely(x) __builtin_expect(!!(x), 0)
  5. #ifndef barrier
  6. // 内存屏障
  7. #define barrier() __asm__ __volatile__("" :: \
  8. : "memory");
  9. #endif
  10. // 编译器属性
  11. // 当函数的返回值未被使用时,编译器抛出警告信息
  12. #define __must_check __attribute__((__warn_unused_result__))