diff --git a/src/types.h b/src/types.h index f4a5716..c7c8421 100644 --- a/src/types.h +++ b/src/types.h @@ -48,27 +48,32 @@ typedef uint32_t u32; */ + // ��������ָ����ڶ���64λ������������ #ifdef __x86_64__ -typedef unsigned long long u64; +typedef unsigned long long u64; // ��x86_64�ܹ���ʹ��unsigned long long��Ϊu64 #else -typedef uint64_t u64; +typedef uint64_t u64; // ����ʹ�ñ����е�uint64_t��Ϊu64 #endif /* ^__x86_64__ */ -typedef int8_t s8; -typedef int16_t s16; -typedef int32_t s32; -typedef int64_t s64; +// �����з����������� +typedef int8_t s8; // 8λ�з������� +typedef int16_t s16; // 16λ�з������� +typedef int32_t s32; // 32λ�з������� +typedef int64_t s64; // 64λ�з������� +// ���û�ж���MIN�������MIN��MAX #ifndef MIN -# define MIN(_a,_b) ((_a) > (_b) ? (_b) : (_a)) -# define MAX(_a,_b) ((_a) > (_b) ? (_a) : (_b)) +# define MIN(_a,_b) ((_a) > (_b) ? (_b) : (_a)) // ȡ����ֵ�е���Сֵ +# define MAX(_a,_b) ((_a) > (_b) ? (_a) : (_b)) // ȡ����ֵ�е����ֵ #endif /* !MIN */ +// �궨��SWAP16�����ڽ���16λֵ���ֽ��� #define SWAP16(_x) ({ \ u16 _ret = (_x); \ (u16)((_ret << 8) | (_ret >> 8)); \ }) +// �궨��SWAP32�����ڽ���32λֵ���ֽ��� #define SWAP32(_x) ({ \ u32 _ret = (_x); \ (u32)((_ret << 24) | (_ret >> 24) | \ @@ -76,19 +81,23 @@ typedef int64_t s64; ((_ret >> 8) & 0x0000FF00)); \ }) +// ��������ָ����ڶ���������� #ifdef AFL_LLVM_PASS -# define AFL_R(x) (random() % (x)) +# define AFL_R(x) (random() % (x)) // ��AFL_LLVM_PASSģʽ��ʹ�� #else -# define R(x) (random() % (x)) +# define R(x) (random() % (x)) // ����ʹ�� #endif /* ^AFL_LLVM_PASS */ +// �궨��STRINGIFY_INTERNAL��STRINGIFY�����ڽ������ת��Ϊ�ַ��� #define STRINGIFY_INTERNAL(x) #x #define STRINGIFY(x) STRINGIFY_INTERNAL(x) +// �ڴ����ϣ�������ֹ��������CPU��ָ������ #define MEM_BARRIER() \ __asm__ volatile("" ::: "memory") -#define likely(_x) __builtin_expect(!!(_x), 1) -#define unlikely(_x) __builtin_expect(!!(_x), 0) +// �궨��likely��unlikely�������Ż���֧Ԥ�� +#define likely(_x) __builtin_expect(!!(_x), 1) // Ԥ��_xΪ�� +#define unlikely(_x) __builtin_expect(!!(_x), 0) // Ԥ��_xΪ�� #endif /* ! _HAVE_TYPES_H */