Cool_Breeze 发表于 2020-4-7 21:08:24

求大佬,解释一下这个宏的意思!

#ifdef STRICT
typedef void *HANDLE;
#define DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name
#else
typedef PVOID HANDLE;
#define DECLARE_HANDLE(name) typedef HANDLE name
#endif

4goodworld 发表于 2020-4-7 22:17:31

你百度下这几个预编译指令,进行条件编译
#ifdef #else #endif
然后
C语言中"##"的用法是 两个宏参数贴合在一起
DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name
这个作用大概是帮你typedef struct

Cool_Breeze 发表于 2020-4-7 23:32:47

4goodworld 发表于 2020-4-7 22:17
你百度下这几个预编译指令,进行条件编译

然后


第二人弄不明白?

Cool_Breeze 发表于 2020-4-8 18:45:49

c参考手册,还是看不懂

howzyao 发表于 2020-4-8 19:04:22

#ifdef STRICT // 如果字串STRICT有定义
typedef void *HANDLE; //就定义它为 无类型的指针变量,变量名为 HANDLE

不知道对不对,也是新学到这里.
页: [1]
查看完整版本: 求大佬,解释一下这个宏的意思!